« Vegeta (logiciel) » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Publication à partir de Utilisateur:RenarTranslations/Brouillon
Balises : PublierBrouillon Nowiki dans un article Balise HTML interdite
(Aucune différence)

Version du 30 août 2022 à 17:55

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.[1] Le programme effectue des tests sur le comportement d'une application HTTP lorsque plusieurs utilisateurs s'y connectent en même temps[1] par le biais d'un chargement en arrière-plan de requêtes GET.[2] 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.[3]

En plus du test de charge préventif, le programme peut également être sollicité pour du shadow testing,[4] 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.[5] Ce processus est réalisé ainsi dans le but d'analyser la performance escomptée du serveur.[6]

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

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.[9]

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.[9]

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.[10]

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.[9] 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.

Sources

  1. a b et c « Load Testing with Vegeta » [archive du ], sur Scaleway, (consulté le )
  2. (en) Andreas Eiermann, Mathias Renner, Marcel Großmann et Udo R. Krieger, Innovations for community services : 17th International Conference, I4CS 2017, Darmstadt, Germany, June 26-28, 2017, Proceedings, Cham, Switzerland, , 83 p. (ISBN 978-3-319-60447-3, OCLC 990058133, lire en ligne), « On a Fog Computing Platform Built on ARM Architectures »
  3. (en) Brajesh De, API management : an architect's guide to developing and managing APIs for your organization, New York, First, , 161 p. (ISBN 978-1-4842-1305-6, OCLC 978273106, lire en ligne [archive du ])
  4. (en) Nat Welch, Real-world SRE : the survival guide for responding to a system outage and maximizing uptime, Birmingham, UK, Packt, , 137 p. (ISBN 978-1-78862-644-6, OCLC 1056157467, lire en ligne)
  5. « Application deployment and testing strategies », sur Google Cloud, (consulté le )
  6. (en) Lin Qi, Zhihong Qiao, Aowei Zhang, Hui Qi, Weiwu Ren, Xiaoqiang Di et Rui Wang, Mobile wireless middleware, operating systems and applications : 9th EAI International Conference, MOBILWARE 2020, Hohhot, China, July 11, 2020, Proceedings, Cham, Switzerland, , 70 p. (ISBN 978-3-030-62205-3, OCLC 1225562925, lire en ligne [archive du ]), « Performance Analysis of QUIC-UDP Protocol Under High Load »
  7. Sorin Dumitrescu, « Black Friday. 0 downtime. How Bunnyshell & Vegeta & UiPath can help » [archive du ], sur BunnyShell.com, (consulté le )
  8. Alla Levental, « Vegeta Load Testing » [archive du ], sur BlazeMeter, (consulté le )
  9. a b et c Erreur de référence : Balise <ref> incorrecte : aucun texte n’a été fourni pour les références nommées github
  10. (en) Paul Osman, Microservices development cookbook : design and build independently deployable, modular services, Birmingham, UK, Packt, , 210 p. (ISBN 978-1-78847-636-2, OCLC 1055162428, lire en ligne [archive du ])