Posts | maggio 2013

23/05/13

Top 15 Drupal performance tips

Per continuare la carrellata sui CMS, di seguito alcuni accorgimenti che possono aiutare a migliorare le performances di un sito realizzato con Drupal. Benchè Drupal sia un ottimo sistema, non è conosciuto per essere particolarmente performante. Fortunatamente, con un po’ di attenzione, si possono ottenere dei buoni risultati.

  • Pianificazione: occorre scegliere accuratamente quali moduli installare o disinstallare, la scelta di installarli “tutti” non è mai quella migliore
  • Aggiornamenti: in genere mantenere aggiornato il sistema (core e moduli) può aiutare
  • Pressflow: è una particolare versione di Drupal, patchata per l’utilizzo di componenti terze-parti. Versione consigliata a chi utilizza Drupal6, diverse modifiche della quale sono state inserite in Drupal7
  • APC (Alternative PHP Cache): una cache php che può offrire ottime prestazioni se usata con Drupal
  • Memcache: un ottimo modulo per Drupal6 e Drupal7
  • Varnish: può essere installato sul web server (Apache, nginx or lighttpd) e aumentare le performanche di Drupal per quanto riguarda soprattutto gli accessi degli utenti anonimi
  • Boost: un’ottima alternativa a Varnish, quanto quest’ultimo non è installabile (hosting condiviso ad esempio)
  • CDN: può aiutare nel caso di risorse statiche come immagini, documenti, css e javascript
  • Views: è uno dei moduli più potenti e versatili di Drupal, ma occore saper utilizzare bene le varie opzioni per non rischiare di ottenere query molto lente. Alcuni moduli aggiuntivi possono aiutare (Views lite pager, Views cache)
  • Block cache: un altro modulo di Drupal che può migliorare di molto le performance, specialmente se utilizzato con Memcache
  • Ottimizzazioni del filesystem: quando le risorse statiche sono molte può essere utile organizzare il file system in path organizzati per data. A tale scopo può essere utile il modulo File(field) Paths
  • Fast 404: un altro modulo molto utile nel caso di “pagine non trovate”: soprattutto quando si ha un nuovo sito in fase di sviluppo
  • Moduli scadenti: benchè in genere molto rari, nel core di Drupal ci sono 3 moduli con performanche piuttosto scarse. In genere è bene disattivarli (Database logging, Statistics, PHP Filter)
  • Monitoraggio delle performance: utile soprattutto in fase di sviluppo. Devel è sicuramente un modulo utile, New Relic un servizio terze-parti che funziona bene con Drupal
  • Frontend: è certamente utile abilitare l’opzione di aggregazione delle risorse css e javascript offerte dai vari moduli e ridurre le dimensioni delle immagini caricate (Image cache, Image profiles)

Per approfondimenti: