La risposta di Markdorison è sostanzialmente il metodo accettato per attaccare questo problema. Lo porterò un po 'oltre.
Quando hai Pressflow per D6 o Drupal per D7, Memcached e Varnish funzionano tutti bene insieme, dovrai codificare il tuo file VCL in modo personalizzato . Ci sono quelli gratuiti disponibili che segnano punti di partenza ma devi sempre giocare con loro.
Per far funzionare Varnish in modo ottimale, assicurati di avviarlo con -s malloc xG piuttosto che con il predefinito -s file / path / to / file. Inoltre con Varnish puoi avere oggetti statici nella cache di Varnish il più a lungo possibile.
Se hai più di un server web, rimuovi ETag dall'intestazione inviata a Varnish in VCL. Inoltre rimuovo Expires e mi baso semplicemente su Age e max-age nelle intestazioni in modo da riportare i browser sul sito.
La versione 1.5 (al 3 marzo 2011) è ancora la versione più veloce del modulo Memcached da Drupal.org. In genere lo distribuisco utilizzando un unico bin per server per ridurre il traffico TCP per le connessioni a più bin su larga scala)
Configurare la memorizzazione nella cache in "Prestazioni" su esterno e impostare un'età massima che invierà le intestazioni corrette a un proxy di memorizzazione nella cache come Varnish.
Se non riesci a far sì che determinate pagine vengano memorizzate nella cache correttamente in Varnish, consulta i post sul blog sul Web che descrivono in dettaglio come controllare le richieste. Ecco un post di esempio che ho scritto qualche tempo fa: Cosa sta impedendo a Varnish e Drupal Pressflow di memorizzare nella cache le visualizzazioni della pagina degli utenti anonimi
Dovresti scegliere InnoDB (o uno dei suoi altri nomi da altri provider come XtraDB) per MySQL e spostare tutte le tabelle in esso. Dai un'occhiata a questo post del blog per consigli di base sulla messa a punto http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/
Avere un grande pool di buffer è di fondamentale importanza. Quando si carica il test, il sito attiva il registro delle query lente. Probabilmente all'inizio è necessario acquisire query che richiedono più di 50 msec, quindi ottimizzare le query e ridurre ripetutamente il tempo di acquisizione del log lento fino a quando la maggior parte delle query viene eseguita utilizzando gli indici e l'esecuzione abbastanza rapidamente.
Altre nozioni di base comprendono avere APC per PHP. Se cerchi CGI veloce piuttosto che mod_php, dedica un po 'di tempo a provare a rendere la cache APC condivisa tra le istanze php configurando un buon script wrapper. Assicurati anche che la cache APC sia in un file mappato in memoria per spremere l'ultimo bit da PHP.