WordPress Cache : ce qui peut être mis en cache et comment nous le faisons

Publié: 2017-04-28

Vous voulez que votre site Web aille vite. La mise en cache est une technologie qui contribue à la vitesse du site. La mise en cache est un ensemble de techniques logicielles et matérielles qui stockent les données afin qu'elles soient rapidement disponibles pour les demandes futures. Dans cet article, nous expliquerons ce qu'est le cache WordPress, comment il peut être implémenté à différents niveaux et comment nous nous occupons de tout pour vous afin que vous n'ayez pas à vous en soucier.

Qu'est-ce que la mise en cache ?

En informatique, il existe ce qu'on appelle le "cache", dans lequel un composant logiciel ou matériel est utilisé pour stocker temporairement des valeurs et les récupérer plus rapidement à l'avenir. Des valeurs telles que les requêtes MySQL ou le bytecode PHP compilé ainsi que les données en double, telles que le HTML et les images. À peu près tout, vraiment.

Avantages de la mise en cache

En faisant des copies des données et en les plaçant dans le composant «caching», nous gagnons un avantage significatif en termes de performances. Vos visiteurs peuvent récupérer le contenu mis en cache beaucoup plus rapidement que non mis en cache. Le contenu mis en cache peut être récupéré plus rapidement par vos visiteurs que non mis en cache. Les composants de mise en cache sont généralement de la mémoire, mais peuvent être tout ce qui peut être plus rapide que le stockage conventionnel. Mais quelle amélioration des performances pouvez-vous gagner ?
Tout dépend de la quantité de données que vous pouvez mettre en cache, mais d'une manière générale, les améliorations de performances de l'ordre d'une seconde entière ne sont pas rares.

Que peut-on mettre en cache ?

Il existe plusieurs niveaux, selon jusqu'où vous voulez aller dans l'optimisation de votre site Web à l'aide de la mise en cache.

Sortie HTML

La première consiste à mettre en cache la page HTML elle-même. Il existe de nombreux plugins de cache WordPress comme WP Rocket et W3 Total Cache qui font cela et bien plus encore. Ces plugins mettent en cache le résultat de la sortie HTML, ce qui permet de gagner du temps pour les requêtes futures. De plus, chaque plugin vous offre un mécanisme d'invalidation du cache afin que vous puissiez servir du contenu non mis en cache quand vous le souhaitez.

Une autre technique consiste à « minifier » le HTML, c'est-à-dire à le rendre plus petit. Cela vous donne quelques kilo-octets par page, mais cela s'additionne avec le temps.

Vous aurez besoin d'un accès au tableau de bord ou d'un moyen d'installer des plugins sur WordPress pour ce faire.

Référence:

  • Fusée WP
  • Plugin WordPress W3 Total Cache

OpCache PHP

OpCaching est une technique par laquelle PHP prend les fichiers PHP source et les compile dans une forme intermédiaire, appelée bytecode. Le bytecode est comme le code machine d'un ordinateur, mais il fait référence au code machine qui est exécuté par une "machine virtuelle" (dans ce cas, PHP) plutôt que par une machine réelle. Puisqu'il s'agit de code machine et qu'il réside en mémoire, il peut être exécuté beaucoup plus rapidement que si l'interpréteur PHP analyse une commande à la fois et l'exécute.

La mise en cache, à ce niveau, stocke ces données de bytecode en mémoire, afin que votre application puisse être exécutée plus rapidement.

Vous devez avoir accès au fichier de configuration PHP pour activer PHP OpCache.

Référence : OpCache

Hébergez votre site web avec Pressidium

GARANTIE DE REMBOURSEMENT DE 60 JOURS

VOIR NOS FORFAITS

Cache d'objets PHP

Il s'agit de la mise en cache effectuée au niveau de la POO du langage. PHP est un langage orienté objet, ce qui signifie qu'il utilise le concept d'"objets" pour décrire la logique, les données et les idées. Au fur et à mesure que votre application s'exécute, ces objets sont constamment créés et détruits (de manière dynamique, par un sous-système appelé le ramasse-miettes). Le processus de création et d'initialisation de ces objets prend du temps. La mise en cache d'objets résout donc ce problème en mettant en cache les objets eux-mêmes.

Ceci est implémenté via des plugins tels que Memcached et les autres pour Redis. Redis est un puissant magasin de structure de données en mémoire, qui peut être utilisé comme base de données. Memcached est un système distribué de mise en cache d'objets. Les deux sont d'excellents choix pour faire de la mise en cache à ce niveau.

Vous aurez besoin d'avoir accès à la configuration de PHP afin d'activer la mise en cache des objets PHP. Vous aurez également besoin d'accéder à une instance Redis ou Memcached.

Référence

  • Plugins WordPress Redis
  • Plugin WordPress Memcached
  • Documentation Redis
  • Wiki Memcached

Mise en cache des requêtes MySQL

C'est la même idée mais elle est appliquée au niveau de la base de données. La base de données renvoie un ensemble de données en fonction de la requête saisie. Si vous pouvez mettre en cache les résultats de ces requêtes, la prochaine fois que quelqu'un utilisera cette requête, il obtiendra les données beaucoup plus rapidement car elles résideraient en mémoire cache.

Pour cela, vous devrez avoir accès au serveur de base de données.

Référence : MySQL 8.0 Query Cache

Pour que tout cela soit correctement configuré et entretenu, beaucoup de choses sont nécessaires. Des connaissances techniques, du temps et même de l'argent, si vous manquez d'expérience. Mais nous pouvons aider avec tout cela.

Comment nous résolvons tout avec la mise en cache multicouche de Pressidium.

La réponse est simple. Nous avons implémenté la mise en cache partout : sur toutes les couches de WordPress.

Pour la sortie HTML, nous implémentons deux couches de mise en cache, hot et warm . Ces couches font partie de notre moteur de cache adaptatif. Notre moteur peut également profiler votre site et appliquer les règles de mise en cache les plus efficaces. Mais nous reviendrons plus en détail à ce sujet dans un autre article. Ainsi, le cache à chaud est constitué de données qui résident en mémoire et peuvent être consultées rapidement. Le Warm Cache est constitué de données qui résident sur des disques SSD à la pointe de la technologie. Cela augmente les taux globaux d'accès au cache et améliore considérablement les performances de votre site par rapport au stockage conventionnel.

Pour nos entreprises clientes, nous avons construit un système de mise en cache d'objets en utilisant l'excellent magasin de structure de données en mémoire Redis. Enfin, la mise en cache des requêtes MySQL. Ceci est activé par défaut et surveillé en permanence par nos DevOps. La mise en cache des requêtes MySQL peut vous fournir des informations précieuses sur les performances de votre site Web.

Il est important de noter que tous ces éléments sont implémentés dans le backend de notre plate-forme, et non via un plugin de cache WordPress. Cela signifie que a) nous utilisons des serveurs externes pour le stockage, afin de ne pas surcharger les ressources de votre serveur Web et b) nous stockons les données dans une mémoire dont l'accès est plus rapide que sur le disque.

Quels que soient vos besoins et votre budget en matière de mise en cache, nous pouvons vous répondre.