Vegeta est un outil HTTP de test de charge écrit en Go, utilisable en tant que commande dans une interface en ligne de commande ou comme bibliothèque logicielle.. Le programme effectue des tests sur le comportement d'une application HTTP lorsque plusieurs utilisateurs s'y connectent en même temps par le biais d'un chargement en arrière-plan de requêtes GET.. Vegeta est utilisé pour générer un nombre constant de requêtes par seconde afin de savoir combien de temps un service peut maintenir une charge à son maximum avant que sa performance s'effondre..

En plus du test de charge préventif, le programme peut également être sollicité pour du shadow testing., une méthode d'essai où la fréquentation de la version live d'une application est dupliquée dans une version test. L'objectif est de déterminer le moyen de gérer la même charge de personnes connectées, sans porter préjudice à la version live de l'application.. Ce processus est réalisé ainsi dans le but d'analyser la performance escomptée du serveur..

Vegeta est disponible à l'utilisation par des services d'hébergement Internet comme Scaleway pour utiliser des requêtes diverses et variées permettant d'effectuer un test de résistance sur des services de client HTTP.. Il est aussi utilisé avec des services de plateformes dédiés au test de charge comme BlazeMeter..

Utilisation L'utilisation de la ligne de commande correspond à vegeta [global flags] <command> [command flags]. Les trois options principales sont -cpus int, qui spécifie le nombre de processeurs à utiliser, -profile string, qui active le profilage, et -version, qui affiche la version logicielle avant de quitter le programme..

Les commandes disponibles sont attack, encode, plot, et report, chacune possédant leurs propres options de commande. L'entrée attack et la sortie report peuvent être toutes deux réalisées dans un format optionnel json lorsqu'elles sont spécifiées avec l'option appropriée.

Vegeta peut spécifier des URL comme cibles dans un fichier séparé avec des en-têtes et des requêtes optionnelles, des options pouvant être saisies sur la ligne de commande par la suite..

Exemple Par exemple, une utilisation possible serait de taper :

"GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report dans la ligne de commande.

Cet exemple utilise la commande echo pour obtenir la sortie GET http://localhost/, puis exécute la commande attack pour cette dernière pendant cinq secondes. Après cela, la commande tee est sollicitée dans le but d'obtenir les résultats dans un fichier appelé results.bin avant de lancer la commande report afin d'afficher la sortie des résultats d'attack.

Notes et références

Catégorie:Logiciel libre sous licence MIT Catégorie:Test logiciel