Open-source Java application for load testing and measuring the performance of web applications and other services.
locustio/locust
Open source load testing tool that lets you define HTTP and other protocol load tests as plain Python code, with a web UI.
Open-source alternative to:LoadRunner
Gatling Enterprise
- Stars
- 28,238
- Forks
- 3,262
- Open issues
- 9
- Last commit
- 10 hours ago
What is it?
Locust is a performance and load testing tool for HTTP and other protocols. Test scenarios are ordinary Python classes and functions, so you can use loops, conditionals, calculations and third-party libraries, and keep the tests in version control like any other code.
Tests can be run from the command line or through a web-based UI that shows throughput, response times and errors in real time. Results can also be exported for later analysis, and the load can be adjusted while a test is running. Each simulated user runs in a lightweight greenlet, and tests can be spread across multiple machines to drive high concurrency.
Locust works mainly with web services but can be extended to other systems by writing a custom client. Its architecture is pluggable, so custom load shapes and reporting integrations can be added in Python.
Key features
- 01Write test scenarios as regular Python code with loops and conditionals
- 02Web UI showing real-time throughput, response times and errors
- 03Command-line mode suitable for CI/CD pipelines
- 04Distributed runs across multiple machines for high concurrency
- 05Change the load level while a test is running
- 06Extensible to other protocols with custom clients and load shapes
Use cases
- Load testing a REST or web API before a release
- Measuring how a service behaves as concurrent users grow
- Running automated performance checks in a CI pipeline
- Testing non-HTTP systems by writing a custom Python client
Quick start
- 1
Open the installation guide in the Locust documentation
Topics
FAQ
- What is locust?
- Open source load testing tool that lets you define HTTP and other protocol load tests as plain Python code, with a web UI. Locust is a performance and load testing tool for HTTP and other protocols. Test scenarios are ordinary Python classes and functions, so you can use loops, conditionals, calculations and third-party libraries, and keep the tests in version control like any other code.
- Is locust free to use? What license does it have?
- locust is open source under the MIT license. Check the license terms before using it in commercial products.
- Is locust still maintained?
- Actively maintained. The last commit to locust was on Oct 24, 2026.
- What can I use locust for?
- Load testing a REST or web API before a release Measuring how a service behaves as concurrent users grow Running automated performance checks in a CI pipeline Testing non-HTTP systems by writing a custom Python client
- How do I install locust?
- Open the installation guide in the Locust documentation
- Where can I get locust?
- The source code and installation instructions are on GitHub: https://github.com/locustio/locust
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A command-line tool and Go library for HTTP load testing that sends requests at a constant rate and reports latency statistics.
A command-line HTTP load generator written in Rust, inspired by rakyll/hey, with a real-time terminal UI.
A cross-platform command-line HTTP(S) benchmarking and load-testing tool written in Go, built on fasthttp for high request throughput.
A DPDK-based network traffic generator and load testing tool for benchmarking L4 load balancers, gateways and servers.
A Go-based HTTP(S) load testing CLI with a real-time terminal display and web charts, using fasthttp for client requests.