# locustio/locust

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/locustio-locust).**

27,516 stars · 3,175 forks · Python · mit

## Links

- GitHub: https://github.com/locustio/locust
- awesome-repositories: https://awesome-repositories.com/repository/locustio-locust.md

## Topics

`benchmarking` `http` `load-generator` `load-test` `load-testing` `load-tests` `locust` `performance` `performance-testing` `python` `socketio`

## Description

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.

## Tags

### Testing & Quality Assurance

- [Performance Testing](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-testing.md) — Provides a distributed performance testing framework that simulates concurrent users using Python scripts.
- [Load Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-testing/load-testing-tools.md) — Simulates millions of concurrent users by executing user scenarios defined as Python code in a distributed environment.
- [Asynchronous Simulation](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/user-interaction-simulation/asynchronous-simulation.md) — Simulates high-concurrency user behavior using asynchronous requests to maintain low resource overhead. ([source](http://docs.locust.io/en/stable/asyncio.html))
- [Programmatic Scenario Definition](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/assertions-and-validation/test-case-definitions/programmatic-scenario-definition.md) — Constructs test logic using standard programming patterns to simulate complex user behaviors. ([source](https://cdn.jsdelivr.net/gh/locustio/locust@master/README.md))
- [User Interaction Simulation](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/user-interaction-simulation.md) — Models concurrent users as classes with lifecycle hooks and weighted tasks to simulate realistic interaction patterns. ([source](http://docs.locust.io/en/stable/api.html))
- [Test Execution Runners](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-execution-runners.md) — Supports command-line execution of performance tests without a graphical interface for automated environments. ([source](http://docs.locust.io/en/stable/quickstart.html))
- [AI Service Load Testing](https://awesome-repositories.com/f/testing-quality-assurance/api-network-testing/service-testing/ai-service-load-testing.md) — Simulates traffic to AI services by tracking token consumption and response latency. ([source](http://docs.locust.io/en/stable/testing-other-systems.html))
- [Test Execution Management](https://awesome-repositories.com/f/testing-quality-assurance/testing-infrastructure-management/test-execution-management.md) — Allows programmatic control over test execution environments and runners directly from custom scripts. ([source](http://docs.locust.io/en/stable/use-as-lib.html))
- [Test Fixture Management](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-fixture-management.md) — Executes load tests using standard testing syntax and fixtures for easier debugging and reuse. ([source](http://docs.locust.io/en/stable/testing-other-systems.html))
- [Test Lifecycle Hooks](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-lifecycle-hooks.md) — Provides hooks to execute custom logic during test initialization, start, and teardown phases. ([source](http://docs.locust.io/en/stable/writing-a-locustfile.html))
- [Performance Analysis](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-analysis.md) — Provides diagnostic insights and automated recommendations based on collected test metrics. ([source](http://docs.locust.io/en/stable/vscode-extension.html))

### DevOps & Infrastructure

- [Load Testing Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/containerized-deployment-orchestration/load-testing-orchestrators.md) — Manages the lifecycle and coordination of distributed worker nodes to execute large-scale performance simulations. ([source](http://docs.locust.io/en/stable/kubernetes-operator.html))
- [Load Shaping](https://awesome-repositories.com/f/devops-infrastructure/containerized-deployment-orchestration/load-testing-orchestrators/load-shaping.md) — Enables dynamic adjustment of traffic intensity and user spawn rates to simulate realistic system stress patterns. ([source](http://docs.locust.io/en/stable/changelog.html))
- [Stress Testing Platforms](https://awesome-repositories.com/f/devops-infrastructure/worker-node-management/distributed-orchestration/stress-testing-platforms.md) — Orchestrates traffic generation across clusters of worker nodes to measure system stability under heavy, real-world load.
- [CI/CD Pipeline Integrations](https://awesome-repositories.com/f/devops-infrastructure/ci-cd-pipeline-integrations.md) — Automates performance validation by triggering load tests within continuous integration and deployment workflows. ([source](http://docs.locust.io/en/stable/hosted-load-testing.html))
- [Distributed Orchestration](https://awesome-repositories.com/f/devops-infrastructure/worker-node-management/distributed-orchestration.md) — Coordinates traffic generation across multiple worker nodes using a central master controller for distributed load testing. ([source](http://docs.locust.io/en/stable/running-distributed.html))
- [Data Throughput Optimizers](https://awesome-repositories.com/f/devops-infrastructure/data-throughput-optimizers.md) — Optimizes request throughput by utilizing efficient network clients that minimize memory and CPU consumption. ([source](http://docs.locust.io/en/stable/increase-performance.html))
- [Worker Scaling](https://awesome-repositories.com/f/devops-infrastructure/worker-scaling.md) — Scales traffic generation capacity by dynamically coordinating multiple worker nodes across distributed environments. ([source](https://docs.locust.io/))
- [Cloud Infrastructure Deployment](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-deployment.md) — Enables execution of load testing scenarios on managed cloud infrastructure to simulate large-scale traffic. ([source](http://docs.locust.io/en/stable/hosted-load-testing.html))
- [Containerized Deployments](https://awesome-repositories.com/f/devops-infrastructure/containerized-deployments.md) — Packages test scenarios and environments into container images for consistent performance testing across host systems. ([source](http://docs.locust.io/en/stable/running-in-docker.html))

### System Administration & Monitoring

- [Real-Time Monitoring Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/real-time-monitoring-dashboards.md) — Features a built-in web dashboard for real-time monitoring of throughput, latency, and error rates during load tests.
- [Web Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/web-dashboards.md) — Exposes a web-based dashboard for starting, stopping, and monitoring load tests with support for custom extensions. ([source](http://docs.locust.io/en/stable/api.html))
- [Threshold Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/threshold-monitoring.md) — Configures automated exit conditions based on response metrics to integrate load testing into continuous delivery pipelines. ([source](http://docs.locust.io/en/stable/extensions.html))
- [Telemetry Collection and Aggregation](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/telemetry-collection-aggregation.md) — Aggregates and streams real-time performance metrics from distributed workers to external monitoring backends.
- [Telemetry Protocols](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry/telemetry-protocols.md) — Streams traces, metrics, and logs from load tests to external observability backends using standard protocols. ([source](http://docs.locust.io/en/stable/running-in-docker.html))
- [Request Logging](https://awesome-repositories.com/f/system-administration-monitoring/request-logging.md) — Records granular, per-request data points to files for detailed post-run performance analysis. ([source](http://docs.locust.io/en/stable/extending-locust.html))

### Networking & Communication

- [Protocol-Agnostic Clients](https://awesome-repositories.com/f/networking-communication/protocol-clients/protocol-agnostic-clients.md) — Acts as a traffic simulation engine supporting multiple protocols to validate system responsiveness across diverse network architectures.
- [Auto-Instrumentation](https://awesome-repositories.com/f/networking-communication/http-request-utilities/auto-instrumentation.md) — Generates spans and metrics automatically for HTTP traffic to provide visibility into request performance. ([source](http://docs.locust.io/en/stable/telemetry.html))
- [Protocol-Agnostic User Classes](https://awesome-repositories.com/f/networking-communication/protocol-agnostic-transport-layers/protocol-agnostic-user-classes.md) — Enables connectivity to diverse protocols like SocketIO and DNS through modular, custom user classes. ([source](http://docs.locust.io/en/stable/changelog.html))
- [Task Weighting](https://awesome-repositories.com/f/networking-communication/traffic-shaping/task-weighting.md) — Provides programmatic control to adjust task weighting and load intensity dynamically during active performance tests.
- [Connection Lifecycle Managers](https://awesome-repositories.com/f/networking-communication/network-reliability-diagnostics/connection-session-management/connection-management/connection-lifecycle-managers.md) — Manages network connection lifecycles to accurately replicate browser traffic patterns and ensure realistic performance metrics. ([source](http://docs.locust.io/en/stable/increase-performance.html))

### Development Tools & Productivity

- [Pacing Strategies](https://awesome-repositories.com/f/development-tools-productivity/execution-throttling/pacing-strategies.md) — Controls task execution frequency using pacing strategies like constant throughput and randomized delays. ([source](http://docs.locust.io/en/stable/api.html))
- [Test Suites](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/test-execution-management/test-suites.md) — Aggregates multiple test definitions from local files or remote URLs to build modular simulation suites. ([source](http://docs.locust.io/en/stable/configuration.html))
- [Plugin Systems](https://awesome-repositories.com/f/development-tools-productivity/plugin-systems.md) — Supports third-party plugins to extend core functionality with custom user types, protocols, and execution logic. ([source](http://docs.locust.io/en/stable/further-reading.html))

### Software Engineering & Architecture

- [Protocol Testing](https://awesome-repositories.com/f/software-engineering-architecture/experimental-features/protocol-testing.md) — Supports performance testing for non-HTTP protocols like gRPC and MQTT via specialized client drivers. ([source](https://docs.locust.io/))

### Programming Languages & Runtimes

- [Concurrency Models](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models.md) — Uses lightweight asynchronous coroutines to simulate high concurrency with minimal resource overhead.

### Web Development

- [RESTful API Clients](https://awesome-repositories.com/f/web-development/restful-api-clients.md) — Automates JSON parsing, header configuration, and error handling for REST endpoints during load tests. ([source](http://docs.locust.io/en/stable/writing-a-locustfile.html))
