Les caches WordPress

Suite à l’installation d’un petit site perso sur un Raspberry Pi 4B avec 2Go, je me suis lancé dans une comparaison des différents plugins de cache pour WordPress

J’en ai retenu 3:

J’ai exclu WP Rocket car je l’ai utilisé dans un cadre professionnel et je n’en ai pas été content.

Ce site est vraiment très léger, donc pour faire mes tests, j’ai utilisé l’image d’un site plus conséquent (Environ 4000 articles, 4.4Go de site et 1.5Go de BDD) et un petit scénario avec Gatling.

Le maillon faible d’un Raspberry reste sa carte SD : Ça reste très lent en écriture et pas du tout adapté aux petits fichiers ou aux accès multiples. + de 5H pour restaurer le site. J’ai essayé avec un (vieux) ssd en USB et dans cette configuration, cela n’a pris que 20min pour faire la restauration.

Pour résumer, voici ma configuration de test:

  • Un Raspberry PI 4B avec 2Go de RAM avec Raspberry PI Lite (avec radiateurs et ventilateur)
  • Une microSD Samsung EVO Pro de 128Go
  • Une LAMP avec un Apache en FPM/FastCGI, un MariaDB
  • Un tir blanc pour la génération des caches, puis un tir de mesure

Voici la config du mpm prefork:

<IfModule mpm_prefork_module>
  StartServers        5
  MinSpareServers     5
  MaxSpareServers     10
  ServerLimit         256
  MaxClients          256
  MaxRequestsPerChild 1000
</IfModule>

Sans plugin de cache

On remarque

  • Le CPU à saturation
  • Apache qui plafonne à 20~25 Rps
  • La température qui dépasse les 45°

L’avis de Gatling:

  • Réponse moyenne à 237ms, c’est largement suffisant
  • 95% des réponses en moins de 1.7s, c’est limite
  • Max à ~3sec, c’est un peu trop

Total Cache

On remarque

  • Le CPU à saturation
  • Apache qui plafonne à 20~30 Rps
  • La température qui dépasse les 45°

Au final je n’ai pas vu de différence avec le cache natif de WordPress….

L’avis de Gatling:

  • Réponse moyenne à 246ms, pas mieux sans pluging
  • 95% des réponses en moins de 1.8s !
  • Max à ~3.5s !!!

Ce plugin n’apporte absolument rien au niveau du serveur!

Super Cache

On remarque

  • Le CPU qui reste en dessous de 10%
  • Apache qui monte à 40 Rps
  • La température qui reste à ~36°

L’avis de Gatling

  • Réponse moyenne à 21ms !
  • 95% des réponses en moins de 55ms !
  • Max à moins d’une seconde !

Là au moins, on mesure une différence! Une fois les caches générées le site est super réactif!

Fastest Cache

On remarque

  • Le CPU qui reste en dessous de 10%
  • Apache qui monte à ~30 Rps
  • La température qui reste à ~35°

L’avis de Gatling

  • Réponse moyenne à 22ms !
  • 95% des réponses en moins de 57ms !
  • Max à moins d’une seconde !

Conclusion

La première chose à noter c’est que 2Go suffisent largement pour un serveur WordPress.

Pour moi, seuls Super Cache et Fastest Cache apportent vraiment quelque-chose. Difficile de dire si l’un est meilleur que l’autre sauf à regarder s’il y a des options importantes pour vous proposées dans l’un et pas dans l’autre.

Au final, m’on choix s’est porté sur Fastest Cache. Uniquement car il avait un meilleur score que Total Cache. Je pense que les 2 choix sont bons.

Avec 100 utilisateurs

J’ai quand même voulu aller plus loin est essayer une montée en charge de Fastest Cache

On remarque:

  • Le CPU qui reste en dessous des 40%
  • Apache qui monte à plus 300 Rps
  • La température qui monte plus de 40°

L’avis de Gatling

Franchement, je ne m’attendait pas à de tels résultats!

Avant que j’arrive à 100 utilisateurs, j’ai de la marge!

Après, on reste sur un site vitrine, ça serait certainement différent s’il y avait des contributions. Mais en attendant, un Raspberry PI 4 est un choix tout a fait crédible pour un site WordPress.