Jusqu’à ce jour, j’utilisais la commande wrk pour réaliser des tests de montée en charge (benchmark) sur mes serveurs web Nginx. Mais depuis le passage en tout HTTPS avec Let’s Encrypt, la commande h2load du paquet nghttp2 me donne plus de satisfactions et surtout entièrement compatible avec le protocole HTTP/2.
h2load : outil de benchmark pour serveur web configurer en http2
En effet, h2load est un outil de test de montée en charge pour HTTP/2, HTTP/1.1 et prend également en charge le protocole SPDY.
La commande h2load peut prendre plusieurs options, voici les principales :
- -n : nombre total de requête
- -c : nombre de clients simultanés
- -t : nombre de threads natifs
sinon, comme d’habitude pour connaître toutes les options, lire le manuel :
man h2load
Exemple d’utilisation :
h2load -n10000 -c500 -t2 https://www.domaine.tld
Un test de performance grandeur nature de mon serveur à partir d’un poste client :
Pour avoir plus d’informations sur le résultat du test, aller lire la documentation en ligne : h2load documentation.
Comment installer h2load
Comme écrit en introduction de l’article, h2load fait partie du paquet nghttp2 mais seulement à partir de la version 1.5 et sur Debian Jessie, la version du paquet sur les dépôts stable est :
apt show nghttp2
Package: nghttp2 Version: 0.6.4-2
Sur mon PC sous Manjaro j’ai la bonne version du paquet :
pacman -Q nghttp2
nghttp2 1.5.0-1
nghttp2 est en 1.5 dans sid mais pas de h2load