Table des matières de l'article :
La mise en cache Web est un outil essentiel pour améliorer les performances d'un site Web. Il consiste en une mémoire temporaire dans laquelle sont stockés les résultats des requêtes faites par un navigateur Web au serveur. Ainsi, lorsqu'un navigateur redemandera une certaine ressource, le serveur n'aura pas à traiter à nouveau la requête mais pourra retourner le résultat déjà présent dans le cache, améliorant ainsi les performances du site.
Voyons ce qu'est la mise en cache et comment elle peut accélérer le chargement de votre site Web, maintenant que nous savons pourquoi elle est essentielle. Vous utilisez votre navigateur Web pour demander et créer une page Web à partir du serveur du site Web chaque fois que vous le visitez. L'élément HTML pour créer la page, les images, le contenu, le style et d'autres fichiers sont stockés sur le serveur. Pour générer une page Web complète, votre navigateur envoie jusqu'à 100 requêtes dans les deux sens depuis le serveur du site Web.
Si vous n'utilisez pas la mise en cache, vous devrez faire de telles demandes à plusieurs reprises chaque fois que vous visiterez cette page. Et tous ceux qui visitent ce site Web font les mêmes demandes. Lorsqu'un grand nombre de personnes accèdent à un site Web en même temps, le serveur ralentit et devient moins réactif. La mise en cache fournit une solution en stockant une copie de la page Web terminée dans de nombreux endroits.
Qu'il soit hébergé sur un serveur local unique ou via un réseau de diffusion de contenu (CDN), un cache conserve une copie des fichiers qui composent une page Web afin que les visiteurs puissent accéder plus rapidement aux pages.
L'un des logiciels les plus populaires pour implémenter le cache Web est Varnish Cache, un serveur proxy de niveau entreprise (utilisé par les plus grandes entreprises en ligne au monde, ainsi que par nous dans Managed Server Srl) qui est installé entre le serveur Web et le navigateur des utilisateurs. Varnish est capable de traiter de grandes quantités de requêtes simultanément et de mettre en cache les réponses reçues du serveur web en disque ou RAM, afin d'accélérer le chargement des pages du site.
Si vous ne disposez pas des compétences ou des ressources nécessaires pour utiliser un logiciel de mise en cache Web tel que Varnish, vous pouvez toujours améliorer les performances de votre site Web en utilisant des services externalisés tels que Cloudflare.
Cloudflare est un fournisseur de services de réseau de diffusion de contenu (CDN) qui propose une large gamme d'outils pour améliorer la vitesse et les performances des sites Web. Parmi ces outils se trouve le cache Web, qui fonctionne de manière similaire au cache Web de Varnish, stockant temporairement le contenu des pages Web pour accélérer la livraison aux clients.
L'utilisation de Cloudflare en tant que service de cache Web présente certains avantages, tels que l'élimination du besoin d'utiliser et de gérer des logiciels de mise en cache complexes comme Varnish. En outre, Cloudflare offre un certain nombre de fonctionnalités supplémentaires telles que la protection DDoS, l'accélération de sites Web en distribuant du contenu à partir de serveurs CDN distribués dans le monde entier et la compression de contenu.
Cependant, il convient de noter que l'utilisation de services externalisés tels que Cloudflare coûte plus cher que l'utilisation d'un logiciel de mise en cache tel que Varnish, et leur impact sur les coûts de gestion du site Web doit être soigneusement évalué.
Quelles que soient les solutions que vous avez l'intention d'utiliser, il y a un problème que ni Varnish ni CloudFlare ne pourront résoudre, sans parler de la plupart des fournisseurs d'hébergement (y compris nous) qui, une fois le client intégré, se reverront pour votre Noël vœux.
Ce billet ne se veut pas seulement une critique du marché de l'hébergement, destinée aux "hébergements que d'autres fournisseurs proposent", mais aussi et surtout une autocritique, car à cet égard nous aussi nous avons flemmardé et n'avons fait que travailler pendant quelques mois seulement pour changer les choses et relever la barre du paysage de l'hébergement (encore une fois).
En fait, on retrouve les couches de cache les plus hautes et les plus complexes chez les grands hébergeurs performants, mais alors personne n'offre de service de préchauffage du cache, suggérant qu'il incombe au client de travailler à sa mise en œuvre afin d'avoir un taux de réussite plus élevé.
Qu'est-ce que le HIT Ratio d'un Web Cache ?
Le taux d'accès au cache est un indicateur très important qui mesure le pourcentage de requêtes client traitées par le cache Web. Un taux d'accès élevé signifie qu'un grand pourcentage des requêtes sont traitées par le cache, ce qui entraîne une amélioration spectaculaire du site Web. performance.
Pour garantir un taux de réussite élevé, le cache doit être "réchauffé", c'est-à-dire qu'il doit mettre en cache les résultats à partir du sitemap. De plus, le client doit être habitué à travailler avec le cache, par exemple pour les procédures d'importation de produits, et doit être conscient de la présence de plages horaires bien définies afin d'effectuer les opérations de nettoyage et de purge du cache qui seront suivies de la tâche en cron pour sa régénération.
Cependant, l'utilisation du Web Cache peut être inutile si le site Web n'est pas utilisé correctement conformément à certains accords avec le client final. Si le site Web n'a pas un trafic élevé ou si le client n'est pas disposé à mettre à jour le site Web régulièrement, le Web Cache peut ne pas apporter d'avantage significatif. Dans ce cas, la mise en œuvre de Web Cache pourrait devenir un coût supplémentaire sans avantage évident.
Former et instruire le client pour qu'il travaille de manière rentable avec le Web Cache.
Notre société a décidé de travailler en étroite collaboration avec nos clients pour évaluer leur modus operandi dans la gestion de leurs sites Web, en particulier les sites de commerce électronique. Dans ce processus, nous nous concentrons sur l'évaluation des opérations d'importation de produits, le chargement et le déchargement de l'entrepôt et toutes les activités qui nécessitent nécessairement un nettoyage complet du cache.
Ce processus d'évaluation a été lancé parce que nous pensons qu'une gestion efficace du cache est essentielle pour garantir des performances optimales du site Web, en particulier sur les sites de commerce électronique.
Notre société est consciente de l'importance d'une gestion efficace des sites Web, en particulier en ce qui concerne les sites de commerce électronique. En collaboration avec nos clients, nous avons décidé d'évaluer leur modus operandi dans la gestion du site, notamment les opérations d'importation de produits, le chargement et le déchargement de l'entrepôt et toutes les opérations nécessitant un vidage complet du cache.
La mise en cache du site Web est un élément crucial pour garantir des performances et une vitesse de chargement optimales du site. Cependant, le cache peut parfois causer des problèmes s'il n'est pas géré correctement. En particulier, les opérations d'importation de produits, de chargement et de déchargement de l'entrepôt peuvent causer des problèmes dans le cache, car elles modifient le contenu du site Web et le cache doit être mis à jour en conséquence.
Pour cette raison, nous avons décidé de travailler avec nos clients les plus exigeants pour évaluer leurs pratiques d'importation de produits et leur mode opératoire de gestion du cache. En particulier, nous étudions s'il existe des procédures en place pour nettoyer le cache régulièrement et si les clients sont conscients de la nécessité de le faire régulièrement.
Nous évaluons également la possibilité de définir des créneaux horaires précis pour effectuer des opérations de nettoyage du cache et de planifier des tâches cron pour la régénération du cache.
Freshcache.php un outil simple qui peut régénérer le cache Web.
Pour réchauffer le cache web, nous avons développé Freshcache.php, un outil utilisé dans notre service d'hébergement qui, à partir d'un plan du site, est capable de régénérer le cache.Il peut être lancé à la fois en ligne de commande et via cron.
Dans la phase de développement nous avons décidé de nous concentrer sur l'utilisabilité et la malléabilité de l'outil qui aurait dû pouvoir être adapté et adaptable à toute situation, CMS ou plateforme à partir de standards bien reçus comme les sitemaps.
Principalement grâce à curl, nous sommes en mesure de générer des requêtes parallèles afin de régénérer le cache à des moments précis via cron ou manuellement à des moments où le client le juge approprié (par exemple après l'importation d'une nouvelle collection de mode) ou ayant massivement changé les prix compte tenu de la ventes à venir.
Il est évident et incontesté que la tâche doit être calibrée de manière experte à la fois dans les temps de workflow standard du client qui, une fois "instruit" devra respecter quelques règles et temps simples pour tirer le meilleur parti de son cache, de plus il doit nécessairement être calibré sur le nombre de requêtes parallèles au afin de ne pas saturer la charge du serveur par une utilisation excessive du processeur pour l'exécution de code PHP non performant ou de requêtes SQL lentes.
Considérant les avantages qui sont apportés en termes de rapidité dans un site qui aura toujours une version optimisée dans le cache et prenant également en compte l'impact que la régénération du cache peut avoir en termes de charge, pour l'instant nous avons réservé cette fonctionnalité à tous les clients disposant d'un serveur dédié ou d'une instance dédiée afin d'isoler les pics de charge de ceux qui pourraient plutôt avoir lieu dans des environnements partagés.