27 avril 2019

Quand les plugins WordPress Cache ne suffisent pas. Reverse Proxy et Object Caching : des performances au plus haut niveau.

Améliorez les performances de WordPress et découvrez comment le proxy inverse et la mise en cache d'objets (Redis/Memcached) font passer les performances au niveau supérieur.

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.

Il suffit d'un pic de trafic important. Si le contenu de votre site web devient viral, par exemple, ou est publié par une personnalité influente comme un homme politique, et que vous attirez soudainement l'attention sur les réseaux sociaux ou d'autres canaux, cet afflux massif de trafic peut mettre votre site à genoux. Un succès fulgurant peut ainsi se transformer en catastrophe.

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 haute performance de niveau entreprise pour WordPress. Les informations ci-dessous sont basées sur notre expérience dans l’hébergement de milliers de sites WordPress exigeants et leur accompagnement dans leur montée en charge.

Pourquoi les plugins de mise en cache ne suffisent pas - Découvrez le proxy inverse

Quel est le plugin de mise en cache WordPress le plus rapide au monde ? Probablement Batcache , un plugin ultra-rapide utilisé pour accélérer le plus grand serveur WordPress au monde, WordPress.com.

Regardez maintenant ce tableau de Joe Hoyle comparant Batcache à une autre option, comme Varnish.

Le graphique vert montre ce qui arrive à ce plug-in de qualité industrielle ainsi que vous augmentez le nombre d'utilisateurs simultanés sur votre site :

Lorsque la charge atteint 20, 50, 100 utilisateurs simultanés, voire plus, les temps de réponse grimpent à 10, 25, 40, voire 70 secondes . Cela se produit uniquement aux pics de trafic, mais c'est précisément ce que nous recherchons, n'est-ce pas ? Il est évident que nous ne pouvons pas espérer de bons résultats avec seulement quelques utilisateurs en ligne. Les véritables gains et récompenses proviennent d'un grand nombre d'utilisateurs, comme chez nos clients, qui enregistrent parfois des millions de visiteurs uniques par mois, voire plus de 50 millions.

Notre client WordPress avec un site à fort trafic avec plus de 50 millions de visiteurs par mois.

Le concept décrit ci-dessus s'applique à de nombreux plugins de mise en cache WordPress populaires, tels que WP Rocket et W3 Total Cache , qui diffusent les pages web via WordPress et son moteur PHP sous-jacent. Ces plugins s'appuient sur la compression, la minification CSS et JS, et d'autres techniques pour réduire le temps de chargement des pages. Ces méthodes fonctionnent à petite échelle, mais deviennent inefficaces lorsque WordPress lui-même commence à limiter le trafic important.

Que représente le graphique orange qui reste stable même lorsque le nombre d'utilisateurs simultanés augmente considérablement ? Il s'agit d'un proxy inverse.

Un proxy inverse (ici, Varnish) est un service intermédiaire qui fonctionne indépendamment de WordPress et qui reçoit les requêtes du serveur WordPress. À l'instar d'un plugin de cache, il fournit une copie pré-enregistrée de la réponse WordPress pendant 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.

Opération Vernis Reverse Proxy WordPress

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.

Cette approche contourne WordPress et le moteur PHP et, en théorie, peut être aussi rapide que Varnish en cas de trafic important. WP Super Cache et WP Fastest Cache en sont des exemples.

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 liés au 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 (notamment les systèmes de fichiers réseau comme NFS), l'espace disque peut impacter significativement les performances lors de l'écriture, la suppression ou la modification simultanée de nombreux fichiers. Cela peut empêcher la mise en cache des données de votre site (le rendant plus lent) ou afficher des données mal mises en cache (donnant l'impression que le site est dysfonctionnel). Varnish conserve les données de page mises en cache dans la RAM, ce qui évite ce problème.

Incompatibilité des plugins – WordPress offre de nombreuses possibilités d'affichage et d'assemblage des données, ce qui peut entraîner des problèmes de compatibilité avec certains plugins. Varnish, quant à lui, gère la mise en cache en amont, en ne mettant en cache que les éléments individuels. Vous bénéficiez ainsi d'une compatibilité totale avec les plugins et le contenu dynamique.

Configuration requise du serveur web : De nombreux plugins, comme WP Rocket, nécessitent une configuration spécifique du serveur web pour que la mise en cache fonctionne. Souvent, l’administrateur du site web ne peut pas modifier cette configuration ou utilise un serveur autre qu’Apache, comme NGINX ou GWAN.

Gestion de la compression inefficace : Certains plugins de cache WordPress compressent la plupart de vos fichiers avec GZIP à chaque requête. Varnish met en cache les pages compressées et les diffuse telles quelles pour les navigateurs compatibles avec GZIP (99 %). La décompression à la volée, moins efficace, est réservée aux navigateurs non compatibles. Les CDN adoptent la même approche. Ainsi, la gestion de la compression de Varnish est optimisée pour la majorité des utilisateurs.

Absence d'isolation des erreurs : Varnish et un CDN peuvent détecter les problèmes sur votre serveur et vous aider à les résoudre en fournissant un contenu légèrement plus stable (mais toujours fonctionnel). Cela peut réduire considérablement l'impact des interruptions de service. La plupart des extensions de mise en cache de pages WordPress ne le font pas, minimisant ainsi 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 illustre les conséquences de l'intégration d'un outil appelé cache d'objets ( Redis étant un exemple courant ). 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 d'objets externes sont Redis ou Memcached (ou dans le cloud, AWS ElastiCache ou Azure Managed Cache), qui peuvent accélérer considérablement 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 désormais convaincu qu'un proxy inverse comme Varnish et un système de cache d'objets comme Memcached/Redis sont indispensables pour gérer un trafic important. Cependant, leur configuration peut s'avérer complexe. C'est là que nous intervenons !

ManagedServer.it est un service d'hébergement WordPress de niveau entreprise offrant des performances et des fonctionnalités DevOps avancées grâce à une plateforme automatisée et préconfigurée. Parmi ses nombreuses fonctionnalités, nous proposons notamment Varnish et Redis ou Memcached, intégrés et préconfigurés.

Donc, si vous définissez le votre site WordPress sur nos systèmes, vous profiterez de tous les avantages du proxy inverse et de la mise en cache avancée des objets, sans avoir à travailler dur pour que tout fonctionne.

Si vous exigez des performances et de la vitesse, ne comptez sur aucun fournisseur d'hébergement. Les plus grands sites nous choisissent.

Vous avez des doutes ? Vous ne savez pas par où commencer ? Contactez-nous !

Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

AVIS DE NON-RESPONSABILITÉ, Mentions légales et droits d'auteur. Red Hat, Inc. détient les droits sur Red Hat®, RHEL®, RedHat Linux® et CentOS® ; AlmaLinux™ est une marque commerciale de la AlmaLinux OS Foundation ; Rocky Linux® est une marque déposée de la Rocky Linux Foundation ; SUSE® est une marque déposée de SUSE LLC ; Canonical Ltd. détient les droits sur Ubuntu® ; Software in the Public Interest, Inc. détient les droits sur Debian® ; Linus Torvalds détient les droits sur Linux® ; FreeBSD® est une marque déposée de la Fondation FreeBSD ; NetBSD® est une marque déposée de la Fondation NetBSD ; OpenBSD® est une marque déposée de Theo de Raadt ; Oracle Corporation détient les droits sur Oracle®, MySQL®, MyRocks®, VirtualBox® et ZFS® ; Percona® est une marque déposée de Percona LLC ; MariaDB® est une marque déposée de MariaDB Corporation Ab ; PostgreSQL® est une marque déposée de PostgreSQL Global Development Group ; SQLite® est une marque déposée de Hipp, Wyrick & Company, Inc. ; KeyDB® est une marque déposée d'EQ Alpha Technology Ltd. ; Typesense® est une marque déposée de Typesense Inc. ; REDIS® est une marque déposée de Redis Labs Ltd ; F5 Networks, Inc. détient les droits sur NGINX® et NGINX Plus® ; Varnish® est une marque déposée de Varnish Software AB ; HAProxy® est une marque déposée de HAProxy Technologies LLC ; Traefik® est une marque déposée de Traefik Labs ; Envoy® est une marque déposée de CNCF ; Adobe Inc. détient les droits sur Magento® ; PrestaShop® est une marque déposée de PrestaShop SA ; OpenCart® est une marque déposée d'OpenCart Limited ; Automattic Inc. détient les droits sur WordPress®, WooCommerce® et JetPack® ; Open Source Matters, Inc. détient les droits sur Joomla® ; Dries Buytaert détient les droits sur Drupal® ; Shopify® est une marque déposée de Shopify Inc. ; BigCommerce® est une marque déposée de BigCommerce Pty. Ltd.; TYPO3® est une marque déposée de la TYPO3 Association; Ghost® est une marque déposée de la Ghost Foundation; Amazon Web Services, Inc. détient les droits sur AWS® et Amazon SES® ; Google LLC détient les droits sur Google Cloud™, Chrome™ et Google Kubernetes Engine™ ; Alibaba Cloud® est une marque déposée d'Alibaba Group Holding Limited ; DigitalOcean® est une marque déposée de DigitalOcean, LLC ; Linode® est une marque déposée de Linode, LLC ; Vultr® est une marque déposée de The Constant Company, LLC ; Akamai® est une marque déposée d'Akamai Technologies, Inc. ; Fastly® est une marque déposée de Fastly, Inc. ; Let's Encrypt® est une marque déposée d'Internet Security Research Group ; Microsoft Corporation détient les droits sur Microsoft®, Azure®, Windows®, Office® et Internet Explorer® ; Mozilla Foundation détient les droits sur Firefox® ; Apache® est une marque déposée de The Apache Software Foundation ; Apache Tomcat® est une marque déposée de The Apache Software Foundation ; PHP® est une marque déposée de PHP Group ; Docker® est une marque déposée de Docker, Inc. Kubernetes® est une marque déposée de The Linux Foundation ; OpenShift® est une marque déposée de Red Hat, Inc. ; Podman® est une marque déposée de Red Hat, Inc. ; Proxmox® est une marque déposée de Proxmox Server Solutions GmbH ; VMware® est une marque déposée de Broadcom Inc. ; CloudFlare® est une marque déposée de Cloudflare, Inc. ; NETSCOUT® est une marque déposée de NETSCOUT Systems Inc. ; ElasticSearch®, LogStash® et Kibana® sont des marques déposées d'Elastic NV ; Grafana® est une marque déposée de Grafana Labs ; Prometheus® est une marque déposée de The Linux Foundation ; Zabbix® est une marque déposée de Zabbix LLC ; Datadog® est une marque déposée de Datadog, Inc. ; Ceph® est une marque déposée de Red Hat, Inc. ; MinIO® est une marque déposée de MinIO, Inc. ; Mailgun® est une marque déposée de Mailgun Technologies, Inc. ; SendGrid® est une marque déposée de Twilio Inc. Postmark® est une marque déposée d'ActiveCampaign, LLC ; cPanel®, LLC détient les droits sur cPanel® ; Plesk® est une marque déposée de Plesk International GmbH ; Hetzner® est une marque déposée de Hetzner Online GmbH ; OVHcloud® est une marque déposée d'OVH Groupe SAS ; Terraform® est une marque déposée de HashiCorp, Inc. ; Ansible® est une marque déposée de Red Hat, Inc. ; cURL® est une marque déposée de Daniel Stenberg ; Facebook®, Inc. détient les droits sur Facebook®, Messenger® et Instagram®. Ce site n'est pas affilié, sponsorisé ou autrement associé à l'une des entités mentionnées ci-dessus et ne représente aucune de ces entités de quelque manière que ce soit. Tous les droits sur les marques et noms de produits mentionnés sont la propriété de leurs titulaires respectifs des droits d'auteur. Toutes les autres marques mentionnées sont la propriété de leurs titulaires respectifs. MANAGED SERVER® est une marque déposée européenne de MANAGED SERVER SRL, dont le siège social est situé Via Flavio Gioia, 6, 62012 Civitanova Marche (MC), Italie et le siège opérationnel Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italie.

JUSTE UN MOMENT !

Vous êtes-vous déjà demandé si votre hébergement était nul ?

Découvrez dès maintenant si votre hébergeur vous pénalise avec un site web lent digne des années 1990 ! Résultats immédiats.

Fermer le CTA
Retour en haut de page