À propos du projet
Locust est un outil open-source de test de performance et de charge conçu pour HTTP et d'autres protocoles. Sa force principale réside dans le fait qu'il permet aux développeurs de définir des scénarios de test à l'aide de code Python classique, évitant ainsi les interfaces graphiques ou les langages spécifiques au domaine. Les tests peuvent être exécutés depuis la ligne de commande ou via une interface web intégrée qui affiche des métriques en temps réel telles que le débit, les temps de réponse et les erreurs — lesquelles peuvent également être exportées pour une analyse ultérieure.
Chaque utilisateur dans Locust s'exécute à l'intérieur d'un greenlet (coroutine légère), permettant aux développeurs d'écrire du code Python de style bloquant avec des boucles, des conditionnels et des calculs sans rappels (callbacks). Cela rend les tests faciles à déboguer, à versionner et à intégrer dans des pipelines CI/CD.
Locust s'adapte horizontalement sur plusieurs machines et utilise gevent pour la concurrence pilotée par les événements, permettant des milliers d'utilisateurs simultanés par processus. Bien qu'il ne soit pas nécessairement l'outil le plus performant en termes de requêtes brutes par seconde, sa faible surcharge par utilisateur le rend idéal pour simuler des charges de travail hautement concurrentes.
L'outil est extensible : les utilisateurs peuvent importer des bibliothèques Python standard, écrire des clients personnalisés pour des systèmes non-HTTP, intégrer des rapports en temps réel vers des bases de données comme TimescaleDB, ou définir des formes de charge personnalisées. Des plugins communautaires étendent encore ses capacités.
Microsoft a contribué à la maintenance de Locust et en est le sponsor. Ils proposent également Azure Load Testing, un service géré qui exécute des tests Locust à grande échelle, s'intègre à Azure DevOps et GitHub, et corrèle les résultats des tests avec les métriques d'infrastructure.
Une extension VS Code alimentée par Copilot aide à générer et à exécuter des tests Locust directement dans l'éditeur. Une documentation, un support communautaire via StackOverflow et Discord, ainsi qu'un blog sont disponibles pour l'apprentissage et le dépannage.
Maintenu sous licence MIT, Locust a été initialement créé par Jonatan Heyman, la maintenance actuelle étant dirigée par Lars Holmberg et le développement de l'interface utilisateur par Andrew Baldwin. Le projet crédite tous les contributeurs et reconnaît le soutien continu de Microsoft.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.