Perché è importante avere un sito veloce?
"Il mio sito è così bello e interessante che i visitatori adorano aspettare 15 secondi per visualizzare una pagina!"
Ok, puoi crogiolarti nelle tue certezze o leggere avanti.
Secondo Google, il 53% delle visite da smartphone viene abbandonato se la pagina impiega più di tre secondi per caricarsi. Tre secondi, non trenta secondi.
Secondo uno studio molto citato in rete ( ), il 57% degli utenti abbandona un sito dopo un’attesa di 3 secondi mentre il 32% aspetta al massimo 5 secondi.
Sfogliare un catalogo commerciale, o anche un blog, alla ricerca del prodotto o dell'informazione desiderati può diventare davvero frustrante se il sito è lento... e visto che la concorrenza è in agguato, diventa prioritario migliorare la performance del proprio sito web.
Utilizzare Redis per velocizzare la visualizzazione delle pagine in Drupal
Redis è un key-value store open source residente in memoria con persistenza facoltativa (l'ho copiato da Wikipedia). E' stato creato e sviluppato da Salvatore Sanfilippo (Antirez). Chi aveva un blog intorno al 2007 si ricorderà bene la lotta contro l'algoritmo di OKNotizie da lui creato. :)
Il modo in cui funziona Redis consiste nel memorizzare nella cache le query del database alla prima visita, quindi servire il contenuto memorizzato nella cache a tutti gli altri utenti che caricano la stessa pagina, senza interrogare il database di nuovo.
L'installazione su Ubuntu è abbastanza semplice, anche per chi come me lavora principalmente su macchine Windows. Trovate decine di tutorial in rete che vi guideranno passo passo. Il secondo passaggio è l'installazione di PhpRedis, l'estensione php da usare come connettore.
Infine tramite composer installate il modulo per Drupal Redis.
Inseriamo questo codice nel file settings.php per dire a Drupal di usare Redis come cache.
$settings['redis.connection']['interface'] = 'PhpRedis';
# Use for all bins otherwise specified.
$settings['cache']['default'] = 'cache.backend.redis';
# Use this to only use it for specific cache bins.
$settings['cache']['bins']['render'] = 'cache.backend.redis';
Ultimo passo è copiare il file example.services.yml che trovate nella cartella del modulo in sites/default/services.yml (attenzione che va rinominato).
Risultati ottenuti
Nel grafico di GTMetrix la velocità media di caricamento della pagina About, prima e dopo l'installazione di Redis. Siamo passati da 3 secondi a 1,5 secondi. Un incremento di prestazioni notevole. Direi che ne è valsa la pena!
Nei prossimi giorni vedrò che impatto avrà sulla memoria del mio cloud server, magari farò uno stress test.
Aggiungi un commento