Bienvenue dans un nouveau chapitre de notre série WordPress Caching où nous allons apprendre comment fonctionne la mise en cache WordPress. Avant d’aller au fond de ce sujet, assurez-vous d’avoir suivi attentivement chacun des sujets précédents (de cette série), car ce chapitre utilise les connaissances qui en découlent. Pour commencer, parlons des deux principaux types de protocoles de mise en cache disponibles, basés sur le modèle client-serveur:

  • Mise en cache côté client et
  • Mise en cache côté serveur

Mise en cache côté client

Le modèle client-serveur

Un site Web contient de nombreuses données statiques non textuelles, telles que des images, des fichiers CSS et Javascript. Une fois qu’ils sont téléchargés, votre navigateur est suffisamment intelligent pour ne pas les télécharger à nouveau chaque fois que vous appuyez sur le bouton F5. Il sert simplement ces données du cache local – c’est-à-dire les données en cache enregistrées sur le disque dur de votre ordinateur. C’est pourquoi il est recommandé de nettoyer le cache de votre navigateur de temps en temps – cela économise beaucoup d’espace et améliore les performances.

Ce processus de réutilisation des données mises en cache à partir de l’ordinateur du client (ou du côté du client) est connu sous le nom de mise en cache côté client et presque tous les sites Web modernes l’utilisent et chaque navigateur le prend en charge. La mise en cache côté client aide à éviter la redondance des données (c’est-à-dire à télécharger les mêmes données encore et encore) et économise ainsi beaucoup de ressources serveur et, surtout, du temps!

Mise en cache côté serveur

Serveur

La mise en cache côté serveur comprend tous les différents protocoles de mise en cache utilisés sous la mise en cache WordPress. Ils comprennent les éléments suivants:

  • Mise en cache de la page
  • Mise en cache des requêtes de base de données
  • Mise en cache basée sur les objets
  • Mise en cache de l’opcode

WordPress utilise ces quatre principaux protocoles de mise en cache côté serveur. Nous allons jeter un coup d’œil à chacun d’eux individuellement et voir comment la mise en cache de chacun d’eux peut économiser beaucoup de temps de calcul précieux, accélérant ainsi votre site Web.

Mise en cache de page

1381630448_HTML-2La mise en cache de page est le plus simple de tous les protocoles de mise en cache et je parie que vous le savez déjà. Il se réfère simplement au processus de sauvegarde des fichiers HTML générés dynamiquement sur le disque dur ou dans la mémoire (RAM) du serveur (communément appelé “ cache ”) et à leur service à partir du cache (c’est-à-dire en réutilisant les données précédemment générées) chaque fois qu’une demande est faite . Cela évite la surcharge de l’exécution du code PHP et des requêtes de base de données MySQL.

Mise en cache de la base de données

Base de donnéesLa première chose à savoir sur les bases de données est qu’elles sont énormes et gourmandes en ressources. Ils sont littéralement le cœur de toute entreprise – que ce soit en ligne ou autrement. Il en va de même pour WordPress. Le but d’une base de données est de stocker, mettre à jour et fournir des données de manière efficace. Comme elles sont généralement énormes, chaque requête prend du temps (généralement de l’ordre de quelques centaines de microsecondes). Meilleur matériel, plus rapide la génération des résultats de la requête. Penses-y. Étant donné que WordPress dépend fortement de sa base de données, il effectue une requête de temps en temps. Et lorsque les données ne sont pas modifiées dans la base de données, effectuer des requêtes pour récupérer les mêmes données revient à retélécharger les mêmes images encore et encore, comme indiqué sous Mise en cache côté client. Par conséquent, enregistrer les résultats d’une requête dans le stockage local est logique, n’est-ce pas? Cette sauvegarde des résultats des requêtes de base de données dans le stockage local s’appelle la mise en cache de la base de données et est l’un des facteurs fondamentaux de la mise en cache WordPress.

Cependant, une fois que la base de données est mise à jour (par exemple, lorsqu’une publication est mise à jour ou publiée, ou qu’un commentaire est soumis), il est très important que le cache de la base de données précédemment enregistré soit supprimé et que les résultats de la requête de base de données soient remis en cache. Ce n’est pas redondant car cela permet d’éliminer les résultats de requêtes de base de données non pertinents ou erronés.

Mise en cache d’objets

OpcodeWordPress dispose d’un système de mise en cache interne qui comprend plusieurs sous-systèmes (c’est-à-dire l’API Caching, Object Cache et l’API Transient). Le noyau WordPress permet aux plugins de contrôler ce système de mise en cache pour réduire le nombre d’appels à la base de données. C’est un sujet assez avancé et qui n’est pas tout à fait pertinent pour l’utilisateur quotidien.

Mise en cache de l’opcode

Code PHPTout comme la mise en cache de base de données où l’idée est de réduire le nombre de requêtes de base de données, la mise en cache d’opcode fait référence à la sauvegarde du code PHP compilé entre chaque requête. Si vous regardez n’importe quel fichier PHP, vous verrez que le code est en fait une liste d’instructions que le compilateur doit utiliser. PHP est un langage de programmation orienté objet, et a ses avantages depuis son origine! Pour qu’un code PHP s’exécute, le compilateur PHP doit d’abord compiler le code et générer le code exécutable que le serveur Web doit exécuter. Mettre en cache la sortie du compilateur PHP pour des exécutions multiples, c’est ce qu’est la mise en cache d’opcode. Encore une fois, ce sont des choses internes – des choses dont vous ne devriez pas vous inquiéter beaucoup!

Stockage local – principal ou secondaire

Stockage local

Pour implémenter la mise en cache côté serveurs de toute forme, il est entendu que les données doivent être stockées dans le stockage local. Le terme «stockage local» peut signifier deux choses. L’un est le disque dur du serveur et l’autre est la mémoire principale du serveur, c’est-à-dire la RAM.

RAM, qui signifie Random Access Memory est une forme de mémoire volatile et est des ordres de grandeur plus rapide que les disques durs, qui est une forme de stockage secondaire non volatile. C’est aussi plus cher. Bien sûr, vous le savez tous.

L’endroit où vous enregistrez les données mises en cache fait une énorme différence. Si c’est dans un disque dur, alors c’est certainement plus lent que quand il est stocké dans une RAM. Encore une fois, la vitesse du disque dur est importante. Les disques durs du serveur vont de 7 200 tr / min à 15 000 tr / min et peuvent avoir différents niveaux de RAID – RAID 0 étant le plus rapide et le moins sûr, RAID 4 étant un bon équilibre. Vous avez également des SSD. Par conséquent, l’emplacement des données en cache a un impact important sur la vitesse.

Pour les personnes sur des serveurs d’hébergement mutualisé, vous n’avez pas d’autre choix que de l’enregistrer sur le disque dur. Pour les personnes exécutant leur propre serveur dédié ou VPS, vous avez la possibilité supplémentaire de sauvegarder le cache dans votre mémoire principale, ce qui doit encore être fait avec beaucoup de soin – une mauvaise configuration peut entraîner une instabilité (manque de RAM, etc.) et des pannes fréquentes du serveur.

Conclusion

Maintenant que vous avez une bonne compréhension des différents protocoles de mise en cache WordPress, arrivons à la pièce maîtresse de notre série d’articles – Comment implémenter la mise en cache WordPress.

Si vous avez des questions ou des suggestions pour améliorer ce chapitre, n’hésitez pas à les poser ou à les partager – nous serions ravis de connaître votre avis!

Share: