Varnish Cache

Vous avez surement déjà tous navigué sur un site web qui prenait une éternité à s’afficher. Avec nos horaires bien remplis des temps modernes, nous n’avons plus la patience d’attendre après le chargement d’une page web. Mais en quoi Varnish Cache peut-il aider?

Encore pire, si vous êtes un webmestre et que vous devez optimiser un site fonctionnant avec WordPress pour satisfaire les demandes de votre client et des moteurs de recherche comme Google, votre cauchemar ne fait que commencer! Bien entendu, il est toujours possible de prendre la solution facile avec notre forfait WordPress!

Varnish Cache est un logiciel « Open source » qui apporte une solution intéressante et efficace pour cette problématique.

Il faut premièrement comprendre que les sites web de nos jours sont créés (dans la majorité des cas) avec des gestionnaires de contenu comme WordPress, Joomla, OpenCart et bien d’autres. Ils sont pratique et flexible mais beaucoup plus lents qu’un site classique. Chaque fois qu’un utilisateur veut visionner une page du site, dans l’arrière-boutique le gestionnaire de contenu va ouvrir une centaine de fichiers et va effectuer plusieurs requêtes à une base de données. Chacune de ces actions coute de précieuses millisecondes à l’affichage de la page.

Varnish super man
Varnish entre en action

C’est ici que Varnish entre en action!

Varnish Cache va s’interposer entre vos clients et votre site. Quand un client demande de voir une page de votre site, Varnish la prend en photo et la montre ensuite au client. Si un deuxième client désire voir la même page, Varnish va simplement montrer la photo de cette page au lieu de renvoyer la requête au gestionnaire de contenu (comme WordPress).

La comparaison peut être imagée comme suit.

Disons que vous recevez de la visite pour le diner le lundi et vous n’avez pas de table. Vous sortez et prenez votre voiture pour aller acheter une table. Une fois que la visite est partie, vous jeter la table. Le lendemain, vous recevez encore de la visite pour diner, vous retournez de nouveau acheter une nouvelle table. Et ainsi de suite.

Avec Varnish, la première journée, vous acheter une table, mais les journées suivantes, vous utilisez celle que vous avez déjà achetée et économisez donc beaucoup de temps!

Varnish technique
Varnish un peu plus technique

Maintenant de façon un peu plus technique

La version 5.2 de Varnish est sortie il a quelques mois déjà (certains diront que la version 6.0 est disponible depuis le 15 mars, mais vu qu’il s’agit d’une version payante, je n’y ferai pas référence) et apporte des améliorations techniques très intéressantes et attendues.

Support du protocole HTTP/2:

Le protocole HTTP/2 (ou H2 pour les intimes) est la première mise à jour du protocole HTTP depuis 1997 (HTTP représente entre autres les méthodes que les navigateurs web utilisent pour afficher la page).

À lui seul, ce protocole va réduire le nombre de va-et-vient entre les serveurs d’hébergements et les clients. Dans le passé, Varnish ne pouvait pas comprendre les nouvelles commandes envoyées par le protocole HTTP/2. Maintenant, en plus d’être rapide, il pourra également bénéficier des dernières avancées HTTP.

Plusieurs fichiers de configuration VCL :

Avec la version 4.X de Varnish, toutes les configurations devaient être contenues à l’intérieur du même fichier VCL. Dorénavant, il est possible d’avoir plusieurs fichiers de configuration et même d’en charger et d’en enlever en temps réel. Pour un webmestre, ceci signifie plus de facilité pour créer des environnements de développement ou simplement pour héberger plusieurs sites.

En conclusion

Varnish Cache est un outil très polyvalent (bien qu’il peut parfois être complexe à configurer) et peut grandement aider à améliorer les sites web. Je suis personnellement webmestre pour un site recevant plus de 1,2 million de visiteurs uniques par jour. Quand j’ai été approché, le propriétaire du site était à court de solutions, aujourd’hui, malgré le trafic immense que son site génère, ses pages web s’ouvrent presque instantanément.