Table des matières de l'article :
Les plugins de cache WordPress peuvent aider votre site à aller plus vite en améliorant les temps de chargement des pages et votre capacité à servir beaucoup plus de trafic sans dégradation des performances. Mais il viendra un moment où un plugin de cache ne suffira pas.
Tout ce qu'il faut, c'est un énorme pic de trafic. Si le contenu de votre site devient viral, par exemple, ou est publié par une personne influente comme un politicien et que vous attirez soudainement l'attention sur les réseaux sociaux ou d'autres canaux, le flux concentré de trafic peut mettre votre site à genoux. Un énorme succès peut se transformer en un désastre de performance.
Cette page répondra aux questions suivantes :
- Pourquoi les plugins de cache WP ne sont-ils pas assez volumineux ?
- Comment les professionnels gèrent-ils la mise en cache WordPress ?
- De quels outils supplémentaires disposent-ils au-delà des plugins de cache classiques ?
- Quels avantages pouvez-vous tirer de ces outils supplémentaires ?
- Comment pouvez-vous intégrer une mise en cache super performante dans WordPress ?
Note : nous sommes les créateurs de ManagedServer.it, la plateforme d'hébergement d'entreprise hautes performances pour WordPress. Les informations ci-dessous sont basées sur notre expérience en hébergeant des milliers de sites WordPress exigeants et en les aidant à évoluer.
Pourquoi les plugins de mise en cache ne suffisent pas - Découvrez le proxy inverse
Quel est le plugin de cache WordPress le plus rapide de la planète ? Probablement Batcache, un plugin ultra-rapide utilisé pour accélérer le plus grand serveur WordPress au monde, WordPress.com.
Maintenant regarde ce graphique par Joe Hoyle comparer Batcache avec une autre option, telle que Vernis.
Le graphique vert montre ce qui arrive à ce plug-in de qualité industrielle ainsi que vous augmentez le
Au fur et à mesure que la charge passe à 20, 50, 100 et plus d'utilisateurs simultanés, je les temps de réponse commencent à grimper à 10, 25, 40 et même 70 secondes . Cela ne se produit qu'aux niveaux de trafic les plus élevés, mais c'est là que nous voulons être, n'est-ce pas ? Nous ne pouvons certainement pas espérer avoir un bon résultat avec certains utilisateurs en ligne. La vraie rémunération et les vrais gains sont précisément là où il y a beaucoup d'utilisateurs en ligne comme chez nos clients où dans certains cas nous avons des millions de visiteurs uniques par mois, jusqu'à plus de 50 millions de visiteurs uniques par mois.
Ce concept ci-dessus s'applique à de nombreux plugins de cache WordPress populaires, tels que WP Rocket e W3 Total Cache , qui servent des pages Web à l'aide de WordPress et son moteur PHP sous-jacent. Ils s'appuient sur la compression, la minification CSS de JS et d'autres techniques pour réduire le temps de chargement des pages, et cela fonctionne à petite échelle, mais souffre lorsque WordPress lui-même commence à s'étouffer avec un trafic important.
Quel est le graphique orange qui reste stable même lorsque le nombre d'utilisateurs simultanés commence à augmenter de manière significative ? Il s'agit d'un proxy inverse ou également connu sous le nom de proxy inverse.
Un reverse proxy (dans ce cas Varnish) est un service intermédiaire qui s'exécute indépendamment, et non dans le cadre de WordPress, et accepte les requêtes au serveur WordPress. En tant que plugin de cache, il fournit une copie préenregistrée d'une réponse WordPress pour une durée limitée appelée TTL (Time To Live).
La différence est que tandis que les plugins de mise en cache sont pilotés par le serveur WordPress, qui peut se fatiguer à mesure que la charge augmente, un outil comme Varnish est spécialisé dans le traitement des demandes de cache et peut être littéralement jusqu'à 500 fois plus efficace qu'un serveur Web PHP, sans faire fonctionner le Serveur Web de quelque manière que ce soit, et PHP. Un proxy inverse répondra en premier lieu et étant écrit en langage C orienté réseau et performances, les performances seront absolument rapides.
Cela génère en fait un graphique plat incroyable à mesure que le trafic augmente jusqu'au niveau des méga-sites.
Plug-ins basés sur des fichiers statiques par rapport à Varnish
Certains plugins de cache WordPress fonctionnent différemment - ils enregistrent les fichiers statiques de vos pages WordPress dynamiques et redirigent les visiteurs Web vers ces versions statiques.
C'est une approche qui contourne WordPress et le moteur PHP et, en théorie, peut être aussi rapide que Varnish avec des volumes de trafic élevés. Quelques exemples sont WP Super Cache e WP Cache le plus rapide .
Cependant, nous avons rencontré un certain nombre de problèmes avec les plug-ins de mise en cache basés sur des fichiers statiques :
Problèmes de système de fichiers - L'un des inconvénients des caches basés sur des fichiers comme WP Super Cache est que sur certains systèmes de fichiers (en particulier un système de fichiers réseau comme NFS), le disque peut considérablement endommager les performances lors de l'écriture / suppression / modification de nombreux fichiers en même temps. Cela peut empêcher votre site de mettre en cache les données (ce qui le rend lent) ou de servir des données mal mises en cache (ce qui leur donne l'air cassé). Varnish garde les données de la page en cache dans la RAM, ce qui évite ce problème.
Incompatibilité des plug-ins - En raison du nombre de manières différentes de rendre/assembler les données à l'aide de WordPress, tous les plugins ne peuvent pas tirer parti de différentes solutions de mise en cache et rencontrer des problèmes de compatibilité. Avec Varnish, la mise en cache est effectuée en amont et seuls les éléments individuels sont mis en cache. Cela signifie que vous resterez entièrement compatible avec les plugins et le contenu dynamique.
Configuration du serveur Web requise - De nombreux plug-ins, tels que WP Rocket, nécessitent des paramètres spécifiques sur le serveur Web pour que le cache fonctionne. Dans de nombreux cas, le webmaster ne peut pas modifier les paramètres du serveur Web ou dispose d'un serveur Web non Apache tel que NGINX ou GWAN.
Gestion inefficace de la compression : Certains plugins de cache WordPress compressent la plupart de vos fichiers à l'aide de GZIP chaque fois qu'ils sont demandés. Varnish met en cache les pages compressées et les fournit telles quelles pour les navigateurs Web prenant en charge GZIP (99 %) et décompresse les fichiers à la volée, ce qui est moins efficace, uniquement pour les navigateurs qui ne prennent pas en charge GZIP. La même approche est adoptée par les CDN. Cela signifie que la gestion de la compression de Varnish est optimisée pour la plupart des utilisateurs.
Pas d'isolement en cas d'erreur - Varnish et CDN sont capables de reconnaître quand quelque chose ne va pas sur votre serveur et vous aident à traverser cette période en offrant un contenu légèrement plus stable (mais toujours fonctionnel). Cela peut réduire considérablement l'impact des temps d'arrêt. La plupart des plug-ins de mise en cache de pages WP ne le font pas, ce qui minimise les temps d'arrêt du serveur Web.
Nous croyons fermement que Varnish est la meilleure option pour WordPress à grande échelle. C'est pourquoi nous l'avons implémenté dans le cadre de notre plateforme d'hébergement WordPress.
Mise en cache d'objets ou cache d'objets : accélère les vues de page dynamiques
Ce graphique de New Relic montre ce qui peut arriver lorsque vous intégrez un outil appelé Object Cache - un outil populaire est Redis . Il s'agit d'un autre aspect des performances à plus grande échelle : un cache d'objets interne.
Un cache d'objets est un moyen de stocker des données de la base de données en mémoire, pour éviter les requêtes inutiles sur la base de données. WordPress est livré avec son propre cache d'objets interne, mais de nombreux experts disent que c'est assez inefficace.
Comme pour le proxy inverse, ici aussi, l'utilisation d'un service externe dédié pour la mise en cache des objets peut faire une différence considérable, comme le montre le graphique ci-dessus - des opérations de base de données plus rapides qui ralentissent un site peuvent presque être réduites à zéro.
Les options les plus courantes pour la mise en cache des objets externes sont Redis o Memcached (ou dans le cloud, AWS ElastiCache ou Azure Managed Cache), ce qui peut considérablement accélérer l'exécution et réduire la charge de la base de données.
Serveur géré : le moyen le plus simple d'obtenir un hébergement WordPress avec vernis et mise en cache d'objets intégrée
Nous espérons que vous êtes maintenant convaincu qu'un proxy inverse comme Varnish et la mise en cache d'objets comme Memcached / Redis sont très importants pour se préparer au trafic à grande échelle. Cependant, créer ces choses peut être un peu complexe. Voici où nous venons!
ManagedServer.it est un service d'hébergement WordPress au niveau de l'entreprise qui offre des performances avancées et des fonctionnalités DevOps avancées, en utilisant une plate-forme automatisée et préconfigurée. Entre autres caractéristiques de performances, nous fournissons Varnish et Redis préconfigurés et intégrés ou memcached.
Donc, si vous définissez le
Si vous exigez des performances et de la vitesse, ne comptez sur aucun fournisseur d'hébergement. Les plus grands sites nous choisissent.