Benchmark de votre serveur Web avec AB
Vous avez un serveur Web tout neuf.
Vous avez un nouveau et magnifique site Web.
Vous allez avoir plein de visiteurs (du moins, vous l’espérez !).
Oui mais voilà, votre serveur sera-t-il à la hauteur le jour J ?
Pour le savoir, rien de tel qu’un benchmark (ou étalon dans la langue de Voltaire) pour tester le stress que peut supporter votre serveur.
Le logiciel AB (« Apache HTTP server benchmarking tool ») n’est pas le plus complet des benchmark mais il a au moins le mérite d’être très simple à prendre en main.
Il est fourni dans les outils Apache (package apache-utils sous Debian et inclus dans les distributions Windows).
Dans ce premier exemple, je teste mon serveur avec une file de 100000 connexions dont 20 concurrentielles :
ab -n 100000 -c 20 http://www.monsupersite.com/
OK mais maintenant, comment on interprète le bousin ?
D’après le résultat ci-dessus, 90% des requêtes émises ont une réponse avant 47 ms.
Mais comme on le voit dans cet exemple, les % les plus lents sont vraiment très lents !
Imaginez donc des scenarii avec le nombre de connexions pour une période de rush et le nombre de connexions concurrentielles.
Attention, si votre serveur n’est pas proche, il faut prendre en compte la capacité des équipements de réseau et de filtrage (routeurs, firewalls, reverse proxies, WAF).
Un man vous en dira sûrement plus mais ça reste un outil très simple.
Si vous voulez passer à la vitesse supérieure, intéressez-vous donc à JMeter ou Tsung. Je ferais bientôt des billets dessus, promis !