Locust is a distributed performance testing framework that allows users to define complex system stress scenarios using standard Python code. By modeling concurrent users as classes with weighted tasks and lifecycle hooks, it enables the simulation of realistic user behavior across large-scale environments. The tool functions as a scalable load generator capable of orchestrating traffic across multiple worker nodes to measure system stability and responsiveness under heavy, real-world conditions.
The framework is distinguished by its protocol-agnostic architecture, which supports diverse communication standards including HTTP, gRPC, and MQTT through modular client abstractions. It provides dynamic runtime traffic shaping, allowing users to adjust load intensity and task weighting programmatically while tests are active. A built-in web interface offers real-time monitoring of throughput, latency, and error rates, while also supporting custom authentication and UI extensions to meet specific operational requirements.
Beyond core simulation, the platform includes comprehensive observability features such as granular request logging, automated instrumentation, and the ability to stream telemetry data to external monitoring backends. It integrates into continuous delivery pipelines by supporting automated performance threshold validation and headless execution. The system is designed for flexibility, allowing for containerized deployment, cloud-based scaling, and the ingestion of external datasets to ensure varied and representative load testing scenarios.
Locust is distributed as a Python package and can be installed via standard package managers to support both local development and automated infrastructure-as-code environments.