Deploy Now

Stars

28,259

Forks

3,270

Watchers

413

Developer links

Locust

Locust is a load-testing tool that turns plain Python scripts into swarms of simulated users, so you can find out exactly how much traffic your service survives before it falls over. You model real behavior with ordinary Python: classes describe user types, tasks carry weights, and waits plus conditional logic mimic how people actually browse, log in, and check out. The web interface starts the swarm, charts requests per second, response times, and failures as they happen, and lets you raise or lower the load mid-run the moment a bottleneck appears. One machine is rarely the limit: a master process coordinates worker processes across as many machines as you can give it, and every worker runs thousands of greenlet users without thread overhead. HTTP is the home turf, but custom clients let the same scripts load-test WebSockets, gRPC, databases, message queues, or any protocol you can call from Python. Custom load shapes bend the user curve into steps, waves, or double peaks that mirror launches and flash sales instead of a flat ramp. Results export as CSV data and standalone HTML reports for the team, stats can stream into TimescaleDB and Grafana during long runs, and headless mode drops the whole test into CI pipelines. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.

Locust
Locust
Locust
Locust
Locust

Benefits

  • Tests Written As Real Code
  • Scenarios are ordinary Python classes with weighted tasks, waits, and library imports, so complex login and checkout flows are expressed directly instead of being assembled from drag-and-drop blocks.
  • Scale Across Many Machines
  • A single master coordinates workers on any number of machines, each running thousands of lightweight greenlet users, so one modest fleet generates hundreds of thousands of concurrent users.
  • Watch Bottlenecks Form Live
  • The web UI streams requests per second, response times, and failure rates while the test runs, and the load can be adjusted mid-run, so the breaking point is observed, not guessed.
  • Any Protocol You Can Script
  • Custom clients plug WebSockets, gRPC, databases, and message queues into the same user model, and results export to CSV, HTML, or TimescaleDB for Grafana dashboards and CI gates.

Features

  • Python User Scenarios
  • User classes with weighted @task methods, wait times, and full Python logic model realistic flows; every simulated user runs in its own gevent greenlet.
  • Real-Time Web UI
  • The interface on port 8089 starts and stops runs, charts RPS, response times, and failures live, and lets you change user counts while a test is running.
  • Distributed Worker Mode
  • One --master process coordinates any number of --worker processes across machines, scaling a single test to hundreds of thousands of concurrent users.
  • Custom Load Shapes
  • LoadTestShape classes bend the user curve over time into steps, waves, or double peaks, reproducing launches, lunch rushes, and flash sales instead of flat ramps.
  • Headless CI Mode
  • Runs without the UI take users, spawn rate, host, and runtime from the command line and print live stats tables, ready for pipelines and scheduled checks.
  • Reports And Exports
  • Finished runs export CSV statistics and standalone HTML reports, and an example pipeline streams real-time results into TimescaleDB visualized with Grafana.

Apps Similar to Locust