Hey – Un outil simple et léger de test de charge

La performance est un élément essentiel dans la mise à disposition d’un service auprès de vos utilisateurs. Bien souvent dans les projets, des campagnes de tests de performances sont créées et des outils comme JMeter, Gatling ou encore des suites complètes telles que proposées par HP Performance Tester ou IBM Rational Performance Tester. Ces outils permettent une analyse détaillée de la tenue de la charge de votre application (Front ou Back) en simulant une montée en charge progressive et fournissent des rapports complets sur les différents temps de réponse, mais aussi pour certains la consommation de ressource de votre application (CPU, mémoire) une fois sous la charge.

Cependant, il y a des moments ou l’on souhaite effectuer des tests de charge unitaires sans forcément devoir passer plusieurs jours à écrire des scenarii de tests. Les développeurs veulent pouvoir tester rapidement la charge sur le service développé de façon simple et rapide. Simuler un nombre d’opération par seconde et voir le résultat. C’est là que Hey entre en jeu. Cet outil très léger n’a qu’une seule mission : simuler des appels sur une URL donnée et vous retourner en quelques secondes les temps de réponses sur les requêtes effectuées ainsi que les codes retour. Cet outil devient un allié pour les développeurs d’API et permet donc d’ajuster les développements assez tôt dans le cycle de vie de l’application.

Voyons ensemble comment utiliser cet outil.

Un binaire et c’est tout

Comme indiqué en introduction, l’avantage de Hey est sa simplicité et légèreté. Pour l’utiliser il vous suffit de télécharger le binaire sur le Github du projet. Décompressez le à l’emplacement de votre choix.

Pour utiliser l’outil, indiquez le nombre de requête et le nombre de thread :

hey -n <nb_requete> -c <nb_thread> <url>

Pour vérifier vos temps de réponse

Hey vous fourni diverses statistiques sur votre test de charge. Un histogramme vous indiquera la distribution de vos temps de réponses.

Interface de l’outil Hey

Ou tester vos Circuit Breaker

Hey vous indique également les codes retours HTTP de chacune des requêtes. Ainsi il devient aisé de tester un circuit breaker par exemple avec limitation du nombre de connexions simultanées à un service.

Six requêtes ont renvoyées un code retour HTTP 503 – Service Unavailable

En relançant la même commande avec un thread de plus, nous augmentons légèrement le nombre de requête par seconde, suffisamment pour déclencher l’ouverture du circuit breaker. Ainsi nous remarquons que sur les 40 requêtes jouées, 6 ont été refusées.

Pour conclure

Comme vous venez de le voir, Hey est donc un outil simple, léger, qui vous permet de rapidement mettre en oeuvre un test de charge. Sa synthèse courte vous indiquera les différents temps de réponse de votre service ce qui en fera un outil pratique pour tout développeur.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.