Risposte:
Dipende molto dal tuo carico di lavoro.
per la parte L.
per la parte A del tuo stack - beh forse vuoi sostituirlo completamente con nginx o lighthttpd , o forse lasciare semplicemente Apache per contenuti dinamici e avere un server separato (come quei due o mathopd ) per contenuti statici. Dai un'occhiata qui per ulteriori opzioni. Se eseguirai sia Apache che un altro server nella stessa casella, sarà utile un secondo indirizzo IP. Per ridurre la latenza per l'utente finale, utilizzare http / 1.1 con keep-alive. Prendi in considerazione l'utilizzo di una CDN per il contenuto statico.
per la parte M della tua lampada: dai un'occhiata a mysqlperformanceblog . dalla cima della mia testa:
per P
Non è davvero un suggerimento sulle prestazioni, ma esegui backup fuori sede. Veramente.
Consiglio davvero di separare MySQL e Apache / PHP su due macchine diverse.
Ad esempio, ho avuto una macchina (C2D E6600) che ha sempre raggiunto il 2.0 e una media di carico superiore. Ho messo MySQL su una seconda macchina (P4C 3Ghz) e dopo che entrambe le medie di carico non sono state superiori a 0,2-0,3. Quindi sono passato da un sito molto lento a un sito veloce con due server con un margine di prestazioni molto elevato.
Per la parte P, è possibile prendere in considerazione la memorizzazione nella cache del codice operativo con APC . Si potrebbe anche considerare mod_fastcgi con php invece di mod_php predefinito.