E' una domanda credo abbastanza tosta, ma provo a porla ugualmente.

Lavoro con aziende che gestiscono diversi milioni di recond dentro mysql, hanno server dedicati, con anche una ram pazzesca. Il problema è che effettuare query su così tanti dati porta via anche 10 secondi ogni volta (chiave primaria definita, come anche gli indici pertinenti).

Ho lanciato in parallelo un test una versione del software che ricrea la tabella principale e la clona facendola Memory sulla ram, per una piu veloce lettura dei dati (e la aggiorna ogni notte alle 3, prima del reboot). Questa soluzione mi porta ad arrivare già a circa 5 secondi (non memory sono quasi 10, dischi raid 1+0). E' purtroppo ancora troppo, le procedure più toste (estrapolazioni delle statistiche) devono essere effettuate piu velocemente.

Ho proposto all'azienda di effettuare i controlli prima del riavvio del server, salvarli da qualche parte e far vedere loro i dati del giorno precedente, ma vogliono poter monitorizzare in tempo reale.

Inutile dire anche, che tale tabella viene ogni notte "sfoltita", prendo le righe non più necessarie e le sposto su un backup.

//

Poichè, solo 4 script sembrano essere "lenti" per una questione di processore a questo punto, volevo sapere se è possibile su un 4core, dedicare 3 processori a queste operazioni "toste" lasciando tutti gli altri script solo sul quarto processore. Rallenterebbe gli utenti che non fanno statistiche, ma risolverei il mio problema facendo qualche test per bilanciare il tutto.

E' possibile far in modo che determinati processori siano dedicati solo a determinati script?
(attualmente siamo su un server 2003, ma posso tranquillamente passare su linux)