27 avril 2019

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

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 nombre d'utilisateurs simultanés sur votre site :

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.

Notre client WordPress avec un site à fort trafic avec plus de 50 millions de visiteurs 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.

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.

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 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.

INFORMATIONS

Managed Server Srl est un acteur italien leader dans la fourniture de solutions système GNU/Linux avancées orientées vers la haute performance. Avec un modèle d'abonnement peu coûteux et prévisible, nous garantissons que nos clients ont accès à des technologies avancées en matière d'hébergement, de serveurs dédiés et de services cloud. En plus de cela, nous proposons des conseils système sur les systèmes Linux et une maintenance spécialisée en SGBD, sécurité informatique, Cloud et bien plus encore. Nous nous distinguons par notre expertise dans l'hébergement de CMS Open Source de premier plan tels que WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart et Magento, soutenus par un service d'assistance et de conseil de haut niveau adapté aux administrations publiques, aux PME et à toutes tailles.

Red Hat, Inc. détient les droits de Red Hat®, RHEL®, RedHat Linux® et CentOS® ; AlmaLinux™ est une marque commerciale d'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 FreeBSD Foundation ; 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® et MyRocks® ; Percona® est une marque déposée de Percona LLC ; MariaDB® est une marque déposée de MariaDB Corporation Ab ; 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. 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®. Amazon Web Services, Inc. détient les droits sur AWS® ; Google LLC détient les droits sur Google Cloud™ et Chrome™ ; Facebook, Inc. détient les droits sur Facebook® ; Microsoft Corporation détient les droits sur Microsoft®, Azure® et Internet Explorer® ; La Fondation Mozilla détient les droits sur Firefox®. Apache® est une marque déposée de The Apache Software Foundation ; PHP® est une marque déposée du groupe PHP. 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. Ce site n'est affilié, sponsorisé ou autrement associé à aucune 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 appartiennent à leurs titulaires. MANAGED SERVER® est une marque déposée au niveau européen par MANAGED SERVER SRL Via Enzo Ferrari, 9 62012 Civitanova Marche (MC) Italie.

JUSTE UN MOMENT !

Souhaitez-vous voir comment votre WooCommerce fonctionne sur nos systèmes sans avoir à migrer quoi que ce soit ? 

Entrez l'adresse de votre site WooCommerce et vous obtiendrez une démonstration navigable, sans avoir à faire absolument quoi que ce soit et entièrement gratuite.

Non merci, mes clients préfèrent le site lent.
Retour en haut de page