Salta al contenuto principale
Redis for Drupal Wallpaper
Profile picture for user Mauro

Rendere Drupal ancora più veloce con Redis

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 (Aberdeen Group), 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

GtMetrix History

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

    Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
     

    © 2021/2022 Von Pistockhausen - All Rights Reserved - Made in EU with Drupal 9 - Udine Italy