Varnish n’a pas peur de la montée en charge

Date: 20/04/2011 | Catégories: Blog,Open-source,Planet-libre,Reseau,Systeme,Web | Tags: ,

Ce matin, un tweet de Philippe Scoffoni m'a permis de re-découvrir le site Load Impact qui permet de tester la montée en charge de votre service Web en simulant un nombre croissant de connexion. J'ai profité de cet outil sympa pour tester les performances de mon blog sans et avec le proxy cache Varnish (dont j'avais détaillé l'installation dans ce billet).

Avant de commencer la comparaison, un détail de ma configuration serveur:

  • Hébergeur Gandi
  • OS Ubuntu 10.04 LTS
  • CPU 1 coeur avec 1 Go de RAM

Perfos sans Varnish

Le test est alors effectué dans l'architecture suivante:

On obtient ces résultats:

Sans grande surprise on voit que les performances s'écroulent quand le nombre de lecteurs simultanés augmente. Pour 50 lecteurs simultanés sur le Blog (ce qui est quand même un pic que je ne vois pas tous les jours :)), on a un temps de chargement de la page qui passe à plus de 25 secondes (alors qu'il est de moins d'une seconde quand il y a un seul lecteur).

Perfos avec Varnish

En ajoutant Varnish en front-end à Apache, on a l'architecture suivante:

Et les résultats...

... sont à la hauteur des attentes de Varnish !

En effet pour 50 lecteurs consultant le blog en simultané, le temps de chargement ne dépasse pas les 2 secondes. Pas mal pour un logiciel qui ne prend que 1 Go d'espace disque...

Alors vous attendez quoi pour passer à Varnish ?

  • http://www.fotopoto.fr/ Gabriel

    Très intéressant, je serai aussi curieux de voir l’impact, avec la même procédure de test, en désactivant l’un de tes 2 serveurs virtuels.

    • http://www.nicolargo.com NicoLargo

      Je pense que l’impact est nul car le deuxième site en question est ma page Web perso qui n’est consulté que par … moi :)

      • http://www.fotopoto.fr/ Gabriel

        Ok, je croyais qu’il y avait de la répartition de charge entres ces 2 serveurs. My bad.

        • Jeremmm

          La répartition des charges entre serveurs virtuelle sur le même serveur physique ne sert pas à grand chose (pour du mono processeur, mono disque dur et peu de ram), a cause du partage de l’infra

          • http://www.fotopoto.fr/ Gabriel

            Tout à fait d’accord avec toi, je voyais plutôt la répartition de charges ici, comme moyen d’obtenir de la continuité de service, au cas où l’un des 2 serveurs virtuels était down. En ce moment, je vois de la répartition de charge partout, du coup lorsque j’ai vu ces 2 serveurs, ça a fait “boum” et je suis parti sur une vue biaisée par mon taf actuel xD
            Faut que je me repose moi ^^

  • http://etenil.thruhere.net Etenil

    Je ne connais pas Varnish, mais 1Go ça me paraît plutôt gros non?

    • http://www.nicolargo.com NicoLargo

      Tout dépend de la taille de ton site à mettre en cache. Cette caleur est bien sur configurable.

  • http://www.codenetwork.org/ Benoist

    C’est plus que parlant… Je vais donc passé à Varnish grâce à tes conseils.

  • http://www.it-wars.com Vincent RABAH

    Salut Nico,

    J’ai mis en place ça dans mon entreprise pour les différents Intranets, le gain est réellement énorme, je confirme :p Je vois que tu utilises Load Impact pour tes tests en charge ;)
    Sinon, je pense mettre Varnish en oeuvre chez moi pour l’auto-hébergement de mon blog : Nginx sur le Dockstar et Varnish sur un GuruPlug avec 512Mo de RAM !!

    A+

  • http://www.dsfc.net Denis

    Bonjour,

    J’ai abandonné W3 Total Cache. Je ne voyais pas de différence. Avec eaccelerator et un gonflement du cache MySQL et Apache, les performances sont extrêmement correctes.

    Je cherche une solution de caching pour les images et les scripts essentiellement, sachant que cela relève plus du client que du serveur !

    Merci pour la richesse du contenu de ce blog.

    Denis.

  • Fox074

    Salut,

    Est ce que tu peux expliqué pourquoi tu as retirré varnish de ton site ?
    Est ce que c’est cause de tes problèmes de cookies ?

    • http://www.nicolargo.com NicoLargo

      Je ne l’ai pas abandonné… Il est actuellement utilisé pour servir les pages de mon blog.

  • Fox074

    Ok désolé c’est l’extension wappalyzer qui m’a trompé elle ne montre pas le petit icon varnish sur mon firefox ;o)
    Je profite de ce commentaire pour te remercier pour la qualité de ton blog qui m’apporte beaucoup.