Gandi or not Gandi

, par Ben.

Nursit veut proposer une solution d’hébergement douillet autour de SPIP. Notre ambition n’est pas de gérer nous même notre propre salle machine, mais plutôt d’offrir un service à valeur ajoutée Il nous faut donc choisir un prestataire auprès de qui nous louerons les machines nues.

L’offre de Gandi et son « élasticité » nous plait bien (sur le papier, en tout cas). Elle nous permet de commencer progressivement sans avoir d’investissements énormes et nous permettra de monter en puissance, au fur et à mesure.

Mais, il faut tout d’abord vérifier que techniquement, cela puisse convenir. Une des étapes est un bench technique. Il est relativement simple dans un premier temps : il s’agit de répondre à la question : « La performance d’une machine virtuelle est-elle constante dans le temps ».

On utilise l’outil Apache Bench pour le mesurer.

Nous utilisons la commande :

ab -n100 -c40 http://monsite.com
A noter que nous avons fait le choix de faire la mesure à partir du serveur lui-même pour ne pas être dépendant du réseau.

La sortie de la commande ab est de ce style :

ab -n100 -c40 http://monsite.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking monsite.com (be patient).....done


Server Software:        Apache/2.2.9
Server Hostname:        monsite.com
Server Port:            80

Document Path:          /
Document Length:        26769 bytes

Concurrency Level:      40
Time taken for tests:   1.899 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      2747700 bytes
HTML transferred:       2676900 bytes
Requests per second:    52.67 [#/sec] (mean)
Time per request:       759.425 [ms] (mean)
Time per request:       18.986 [ms] (mean, across all concurrent requests)
Transfer rate:          1413.33 [Kbytes/sec] received

Connection Times (ms)
             min  mean[+/-sd] median   max
Connect:        0    5   6.5      0      13
Processing:   222  667 193.1    700    1070
Waiting:      152  610 197.2    646     982
Total:        224  672 189.5    700    1070

Percentage of the requests served within a certain time (ms)
 50%    700
 66%    754
 75%    803
 80%    831
 90%    891
 95%    938
 98%   1030
 99%   1070
100%   1070 (longest request)

Seule la partie « Requests per second » nous intéresse.

On lance donc ce petit script... et on attend (1 semaine environ dans notre cas ! :))

#!/bin/sh
REPOUT=".";
FileOutTotal="resume.txt"
while true;
do
        MaDate=`date "+%d/%m/%y %H:%M:%S"`
        echo " gogogo $MaDate"
       FileOut=`date "+%y%m%d-%H_%M_%S"`
        ab -n100 -c40 http://monsite.com/ >$REPOUT/OUT/$FileOut.txt
        rps=`grep "Requests per second" $REPOUT/OUT/$FileOut.txt  `
        echo "$MaDate;$rps" | sed -e "s/Requests per second:    //g" | sed -e "s
/ \[#\/sec\] (mean)//g" | sed -e "s/\./,/g"  >>  $REPOUT/$FileOutTotal
        sleep 2m
done

Alors, voici ce que cela donne : tout d’abord une vision globale sur un Gandi 1 part :

PNG

On voit en zoomant une petite différence de comportement entre « avant le fossé » et « après le fossé ». En effet, avant la perte complète d’apache pendant un laps de temps, le maxClient apache était à 200 et après le fossé, il est positionné à 40. Dans la configuration 1 part Gandi, une valeur raisonnable du maxClient semble être de 40 (on verra avec l’expérience si cela change).

PNG - 101.2 ko
Vivement dimanche

Ce graphe est là juste pour l’historique si l’on veut faire un autre « vivement dimanche » dans quelques mois avec la même configuration.

PNG - 138.4 ko
VM Gandi vs dédié OVH
Comparaison entre un Gandi 1 part et un hébergement sur un serveur dédié OVH

Ce dernier graphique compare la machine virtuelle chez Gandi avec une machine dédiée chez OVH. Attention, il ne s’agit pas de comparer la performance absolue (cela n’est pas du tout la même puissance derrière), mais plutôt sa constance. Cela nous permet ici d’être plutôt rassurés sur l’offre Gandi.