Optimisez les performances de votre site web grâce à Varnish
Lees in het Nederlands - Read in English
Qu’est-ce que Varnish ? Et pourquoi a-t-il enchanté Thijs Feryn à ce point ? Voici un bref aperçu de ce que l’outil permet de faire, et de la raison pour laquelle il est devenu la pierre angulaire de l’hébergement Performance proposé par Combell.
Entretien avec Varnish
Varnish Software, l’entreprise à laquelle on doit la très populaire technologie Varnish, avait demandé à Thijs Feryn, l’évangéliste technologique de Combell, d’intervenir lors du Varnish Summit à Amsterdam. En tant qu’expert en PHP, Thijs trouve en effet que la manière dont Varnish augmente la rapidité des sites écrits en PHP est idéale. En tant que personne influente, il est donc bien placé pour faire passer le message. Suite à son exposé, l’équipe de Varnish a demandé à Thijs pourquoi il croyait si fort en Varnish.
Durant l’entretien, Thijs a été on ne peut plus clair : Varnish parle en http ; il suffit de le placer devant un site web, de modifier l’enregistrement DNS, de relier Varnish au back-end, et le tour est joué ! Varnish est une véritable aubaine ; c’est une solution qui coûte beaucoup moins cher que de devoir réécrire l’entièreté de votre code. Mais, concrètement, quel est le problème dont Varnish se charge de résoudre, et pourquoi fait-il cela si bien ?
Des sites web lents… À qui la faute ?
Souvent, les nouveaux sites web (ou des sites web existants) se retrouvent face au problème qu’ils tournent bien, tant qu’ils sont en phase de test, sur leurs propres systèmes, mais qui perdent de la vitesse dès qu’ils se retrouvent sur les serveurs d’hébergement finaux et qu’ils doivent faire face à des tas de visiteurs. Les sites web dont le contenu provient de bases de données sont particulièrement touchés par ce problème, comme nous pouvons en témoigner chez Combell.
Mais quelle est la cause de ce problème ? Le développeur n’a-t-il pas écrit son code de manière optimale ? Ou peut-être aurait-il dû développer une meilleure base de données ? On peut aussi se demander si l’infrastructure prévue est suffisamment efficace, s’il y a assez de RAM, si le processeur est bien puissant, s’il y a assez de serveurs, ou si les serveurs ont été configurés de façon optimale, de manière à ce que les performances allouées aux requêtes soient suffisantes...
Les sites web qui se chargent lentement sont tout aussi néfastes que des sites web qui sont indisponibles. Les performances d’un site sont cruciales pour l’expérience de l’utilisateur.
Il est cependant inutile de passer son temps à chercher un coupable. En tant que développeur travaillant dans un environnement d’infrastructure, Thijs a vécu cette situation maintes fois chez Combell. Parfois, il peut en effet s’agir de code qui n’est pas suffisamment évolutif. Et d’autres fois, ce sont de mauvaises décisions prises lors du développement de l’architecture qui sont en cause. Mais l’important est de trouver des solutions, et c’est là que Varnish est une véritable aubaine !
La mise en cache avec Varnish permet d’accélérer les temps de chargement
La mise en cache est ici le maître mot – et Varnish est l’outil idéal pour y procéder. Les données dynamiques, qui sont généralement extraites de la base de données à la volée, sont conservées sous forme statique, de manière à pouvoir être affichées plus rapidement.
En fait, on peut comparer le fonctionnement de Varnish à celui d’un proxy web, comme on en utilisait à l’époque où les connexions Internet étaient encore lentes. Le contenu des sites était alors conservé sur des proxy web, de manière à ce que le contenu qui avait déjà été visités par d’autres utilisateurs puisse être affiché plus rapidement.
« Pourquoi faire recalculer certaines informations alors que ces dernières n’ont pas été modifiées ? Pourquoi gaspiller des ressources informatiques à cela ? »
Ce que Varnish fait, c’est créer un proxy inverse : le serveur n’est pas placé chez l’utilisateur, mais bien dans le centre de données. Les résultats des serveurs sont mis en cache et fournis sous forme statique aux visiteurs. Cela permet naturellement de gagner du temps, puisque les requêtes ne doivent pas à chaque fois d’abord passer par les serveurs de back-end. Les sites web dynamiques avec un cache Varnish sont de ce fait plus rapides.
Astuces de Thijs visant à améliorer les performances de Varnish
La plupart de vos problèmes de mise en cache seront résolus lorsque vous intègrerez au préalable une bonne stratégie de mise en cache dans votre stratégie logicielle. Tenez en outre compte des points suivants :
- Évitez d’utiliser des cookies là où ils sont inutiles.
- Veillez à développer une excellente stratégie pour l’invalidation du cache. La conservation des données statiques dans le cache est un must, mais la mise en cache trop agressive est une mauvaise idée.
- La mise en cache de pages dynamiques est la priorité ; les fichiers statiques n’en ont pas autant besoin.
Nonobstant, tout ne peut pas (ou ne doit pas) être mis en cache. Varnish Configuration Language vous permettra de fixer des règles en la matière.
Plus d’astuces concernant l’utilisation de Varnish
La pierre angulaire de l’hébergement Performance proposé par Combell
Thijs n’est pas le seul à accorder autant d’importance à Varnish, puisque cette solution est aussi une priorité chez Combell. Cela fait en effet déjà quelques années que Varnish y est utilisé avec succès – parfois comme solution de secours, lorsqu’un site existant affiche de piètres performances, mais de plus en plus souvent comme un véritable fondement, qui est intégré dans le projet de conception du site dès le départ.
Combell met donc tout en œuvre pour pouvoir continuellement approfondir ses connaissances dans le domaine de cette technologie, et développer son savoir-faire avec ce logiciel de proxy inverse open source. Pour preuve, Thijs Feryn, l’évangéliste technologique de Combell et expert en PHP, est aujourd’hui demandé aux quatre coins du globe pour présenter ses exposés sur Varnish. Il s’agit d’un grand honneur pour Thijs – un honneur qu’il partage tout naturellement avec Combell !