Optimiser WordPress avec Redis

22 septembre 2016 Auto-hébergement 3 Commentaires

Nous allons ici optimiser WordPress avec redis, un outil open source permettant de maintenir des bases de données en mémoire (NoSQL) et de mettre des objets en cache. Son principal avantage est sa rapidité.

 

 

Optimiser WordPress avec Redis : Installation de Redis

Afin de pouvoir utiliser redis pour la mise en cache d’objets avec WordPress nous allons installer deux paquets : le serveur redis ainsi qu’une extension php7.0 permettant de à des applications php de communiquer avec redis.

sudo apt-get install redis-server php7.0-redis

 

 

Optimiser WordPress avec Redis : Configurer la mise en cache

Le serveur redis installé nous allons le configurer pour mettre en place un cache. Commencez par modifier la configuration de redis

sudo nano /etc/redis/redis.conf

 

Ajoutez ces deux lignes de configuration.

maxmemory 256mb # Mémoire maximum utilisée par redis à modifier selon les capacités de votre serveur
maxmemory-policy allkeys-lru # Redis remplacera les clés les moins récentes afin de garder en mémoires les données les plus récemment utilisées

 

 

Optimiser WordPress avec Redis : Installation du script de mise en cache

Si vous préférez utiliser un plugin WordPress vous pouvez utiliser Redis Object Cache (merci à Thomas)

Téléchargez le script

wget https://github.com/ericmann/Redis-Object-Cache/raw/master/object-cache.php

 

Déplacez le script vers le répertoire ou est installé wordpress

sudo mv object-cache.php /var/www/html/repertoire-wordpress/wp-content/

 

 

Optimiser WordPress avec Redis : Configuration de WordPress

Éditez le fichier de configuration de WordPress

sudo nano /var/www/html/repertoire-wordpress/wp-config.php

 

Si vous souhaitez profiter des fonctions de mise en cache de wordpress en plus de la mise en cache d’objets assurez vous que la configuration suivante soit présente

define('WP_CACHE', true);

 

La constante WP_CACHE_KEY_SALT doit obligatoirement être configurée afin d’ajouter un préfixe à toutes les clés du cache utilisée par le plugin. Ainsi si vous hébergez plusieurs instances de WordPress assurez vous que chacune d’entre elles ait un sel unique.

define('WP_CACHE_KEY_SALT', 'mondomain.tld');

 

 

Optimiser WordPress avec Redis : Fin de l’installation

Vous pouvez maintenant redémarrer tous les services impactées par cette nouvelle configuration

sudo service redis-server restart
sudo service nginx restart ou sudo service apache2 restart
sudo service php7.0-fpm

 

Maintenant vérifiez que tout fonctionne correctement via l’interface cli de redis

sudo redis-cli monitor

 

En parallèle visitez quelques pages de votre blog. Si tout fonctionne correctement vous devriez voir en temps réel votre serveur redis répondre a des requêtes depuis le cache.

OK
1474557797.503200 "monitor"
1474557797.503288 [0 127.0.0.1:55601] "GET" "wp_:options:alloptions"
1474557797.503438 [0 127.0.0.1:55601] "EXISTS" "wp_:options:notoptions"
1474557797.503491 [0 127.0.0.1:55601] "GET" "wp_:options:notoptions"
1474557797.503544 [0 127.0.0.1:55601] "EXISTS" "wp_:options:alloptions"
1474557797.503595 [0 127.0.0.1:55601] "GET" "wp_:options:alloptions"
1474557797.503837 [0 127.0.0.1:55601] "EXISTS" "wp_user_meta:4874"
1474557797.503893 [0 127.0.0.1:55601] "GET" "wp_user_meta:4874"

 

Sources