Skip to content

Faites confiance à Varnish, et votre site vous dira merci

05 novembre 20112 commentaires Apache, Highlights, Réseau, Système

Varnish est un accélérateur HTTP qui marche.

Voilà la devise du logiciel. Il s’agit d’un puissant frontal qui à pour but de mettre en cache tout le contenu de votre site. Pour cela, Varnish ce place devant (normal pour un frontend) votre Apache ou nginx, ou tout autre serveur HTTP, pour mettre en cache toutes les requêtes que vos visiteurs feront sur votre site. Et cela, même si vous avec plusieurs vhost, Varnish fait le tri et vous renvoi ce qui va bien.

Installation

Pour l’installer, rien de plus simple. Rendez-vous sur la page de download du site, et suivez les instructions correspondant à votre distribution. Prenons l’exemple de debian :

curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
echo "deb http://repo.varnish-cache.org/debian/ $(lsb_release -s -c) varnish-3.0" >> /etc/apt/sources.list.d/varnish.list
apt-get update
apt-get install varnish

Par défaut, varnish écoutera sur le port 6081. Cela vous permettra de faire vos tests. Editez le fichier de configuration de varnish, à savoir le « default.vcl » se situant dans /etc/varnish. Dé-commentez toutes les règles, puis relancez varnish : /etc/init.d/varnish reload

Allez sur votre site en ajoutant le port qui va bien (6081) et testez le fonctionnement global du site. En théorie, vous ne devrez rien voir de différent, a part une nette amélioration des performances une fois que les pages sont en cache.

Quand vous avez fini vos tests, il faudra changer le port de votre habituel frontend. Faites bien attention à changer les ports dans vos virtual hosts! Pour ma part, j’ai gardé Apache2, et il tourne sur le port 81. Dans ce cas, j’ai simplement modifié le fichier de config de varnish pour :

backend default {
    .host = "127.0.0.1";
    .port = "81";
}

J’ai simplement reload la configuration, redémarré apache et me voilà avec mes sites qui envoient du pâté, avec ma ligne perso et mon Atom 230, 1.6GHz qui rame sec.

Amélioration des performances

Car, oui, on peut encore améliorer les performances. Je n’ai pas encore eu le temps de m’y pencher mais en plus du full page cache que propose Varnish nativement, on peut pousser le vice en mettant le cache dans un ramdisk par exemple. Varnish propose également du load balancing.

Attention néanmoins, le full page cache, c’est bien, mais il ne faut pas négliger les performances du backend. En effet, si une page qui n’est pas en cache dans varnish met 15s à se générer, il faut plutôt commencer à regarder du côté du code. Des outils comme APC et memcached permettent d’accélérer votre backend. Par contre, il faudra, bien-sûr, investir un peu de temps dans la modification du code pour utiliser memcached.

A lire aussi

There are no related posts on this entry.

Commentaires

  1. Humanbomb novembre 5, 2011

    http://www.vanish.fr/ << Ok, je sort

    • Swifty_core novembre 6, 2011

      T’as tout compris ;)

Trackbacks

Aucun trackback sur ce post.

Ajouter un commentaire

Obligatoire

Obligatoire

Optionel