Un sito Drupal 7 non ottimizzato con 2 GB di RAM può soddisfare in modo soddisfacente circa 20-25 richieste al secondo. Se vuoi andare oltre, il sito richiederà alcune modifiche. Ciò che modifichi dipende dal fatto che la maggior parte degli utenti sul sito sia anonima o autenticata. Ecco le principali cose che puoi fare per migliorare le prestazioni:
Il sito serve principalmente utenti anonimi:
1) Installa e configura sicuramente APC, memcache ed entitycache.
2) Metti il proxy Varnish davanti al server web. L'installazione e la configurazione richiedono circa 30 minuti, ma ridurranno drasticamente i tempi di caricamento della pagina. Infatti, Varnish può gestire circa 300 richieste al secondo su una macchina da 2 GB se tutte le pagine sono memorizzate nella cache. Utilizzare il modulo Scadenza per far scadere solo le pagine selezionate sull'aggiornamento / eliminazione del contenuto.
3) Utilizzare il modulo Advanced CSS / JS Aggregation per aggregare file CSS e JS. Prova a spostare tutti i file JS nella parte inferiore della pagina. Ma nota che ciò potrebbe danneggiare il tuo sito, quindi implementalo sulla produzione dopo test approfonditi. Sperimenta anche con l'integrazione di CSS critici. Nella mia esperienza, ridurrà il tempo di caricamento della pagina di circa mezzo secondo.
4) CSS / JS / images dovrebbero avere un'intestazione di scadenza molto futura. Ciò garantirà che i browser non richiedano più e più volte gli stessi CSS / JS / immagini.
5) Assicurati che il server web stia servendo pagine compresse / CSS / JS.
Dopo aver implementato i 5 passaggi precedenti, il tuo server RAM da 2 GB dovrebbe essere in grado di gestire 50 richieste al secondo abbastanza facilmente.
Il sito serve principalmente utenti autenticati:
L'ottimizzazione di tale sito è più complessa. Tali siti rientrano in una delle due sottocategorie a fini di ottimizzazione:
(a) La maggior parte delle pagine del sito sono identiche, tranne 1 o 2 blocchi con informazioni specifiche dell'utente. Ad esempio il sito di Drupal Commerce.
(b) La maggior parte delle pagine è completamente personalizzata per l'utente. Ad esempio il sito Drupal Commons.
Se il tuo sito rientra nella categoria (a), applica la maggior parte delle tecniche di cui abbiamo discusso per il sito che serve principalmente utenti anonimi. L'unica differenza è che per le pagine non amministrative, Varnish dovrà rimuovere il cookie SESSION dall'intestazione e servire le pagine memorizzate nella cache. Utilizzare il modulo AJAX Block per bloccare i server con informazioni specifiche dell'utente utilizzando AJAX. In questo modo la maggior parte della pagina verrà pubblicata in modo estremamente rapido utilizzando Varnish e quindi le informazioni specifiche dell'utente verranno fornite su AJAX.
Se il tuo sito rientra nella categoria (b), utilizza il modulo Authcache. Preferisco non usarlo il più possibile perché richiede un bel po 'di configurazione e manutenzione. Ma funziona davvero bene. Non sarà veloce come usare Varnish ma sarà in grado di gestire 50 richieste al secondo che stai cercando.
Se stai cercando di andare oltre ciò di cui abbiamo discusso qui, dai un'occhiata alla lista di controllo per l'ottimizzazione delle prestazioni di Drupal . Divulgazione: è stata scritta da me. Cita un elenco esaustivo di cose che puoi fare per rendere il tuo sito Drupal velocissimo.