Locust (logiciel)

logiciel permettant d'effectuer des tests de performance

Locust est un projet de logiciel libre créé en 2011 par Jonatan Heyman permettant d'effectuer des tests de performance sur des applications et serveurs web[2].

Locust
Logo de Locust
Locust's web interface
Interface web de Locust
Informations
Créateur Jonatan Heyman
Développé par Contributors to the Locust project
Fichier exécutable locust
Première version
Dernière version 2.16.1 ()
Dépôt github.com/locustio/locust
État du projet en développement actif
Écrit en Python
Type Test de performance
Licence Licence MIT[1]
Documentation docs.locust.io/en/stable/
Site web locust.io

Locust est écrit en Python, ce qui lui permet d'être utilisé sur tout système d'exploitation supportant ce langage.

Il permet de simuler le comportement de plusieurs utilisateurs agissant de manière simultanée sur une application Web. Cette charge peut être lancée depuis un seul processus, mais peut également être répartie sur plusieurs machines ou processus s'il est nécessaire de générer un trafic important[3].

Les scénarios sont également en Python et bénéficient donc l'ensemble de librairies fournies par ce langage et plus des fonctionnalités spécifique à Locust[4]. Ces dernières peuvent être étendues facilement grâce à des paquets pip proposé par la communauté.

Locust propose une interface web pour piloter le tir et afficher en temps réel les résultats des tests. Les statistiques mesurées comportent :

  • Durée du test
  • Cible
  • Nom du scénario
  • Pour chaque requêtes (qui peuvent être groupés dans le scénario) :
    • Nombre de requêtes effectuées
    • Nombre d'erreurs
    • les temps de réponse : moyen, min, max, centiles (50e, 60e, 70e, 80e, 90e, 95e, 99e et 100e)
    • Taille des données transférées,
    • Nombre de requêtes / seconde,
    • Nombre de erreurs / seconde,
  • Graphiques en fonction du temp:
    • Nombre total de requêtes / seconde et erreurs / seconde
    • Temps de réponse : 50e (median) et 95e centiles
    • Nombre d'utilisateurs : affichage de la rampe
  • Résumé des erreurs et de la répartitions des requêtes
  • Un onglet permet de suivre la charge des "workers" en mode distribué
  • Un onglet permet d'exporter le rapports dans différents format : html, csv, ...

L'interface web peut également être modifiée au travers de scripts python, elle est également optionnelle et toutes les opérations peuvent être exécutées depuis la ligne de commande.

Protocoles modifier

Locust supporte les protocoles suivants :

Des plugins permettent d'ajouter les protocoles suivants[5] :

Articles connexes modifier

Liens externes modifier

Références modifier

  1. « Changelog Highlights », locust.io (consulté le )
  2. Siddhant Shrivastava et Prapulla, « Comprehensive Review of Load Testing Tools », International Research Journal of Engineering and Technology, vol. 07, no 5,‎ , p. 3393 (ISSN 2395-0056, lire en ligne, consulté le )
  3. « Distributed load generation — Locust 2.16.1 documentation », sur docs.locust.io (consulté le )
  4. (en) « Open source load testing tool review 2020 », sur k6.io (consulté le )
  5. (en) « Locust Plugins »