Locust is an easy to use, scriptable and scalable performance testing tool.
You define the behaviour of your users in regular Python code, instead of using a clunky UI or domain specific language. Locust is completely event-based, and therefore it’s possible to support thousands of concurrent users on a single machine. In contrast to many other event-based apps it doesn’t use callbacks.
This makes Locust infinitely expandable and very developer friendly.
Key Features
- Write user test scenarios in plain-old Python. There’s no need for clunky UIs or bloated XML. Just plain code. This enables you to write your tests like normal (blocking) Python code instead of having to use callbacks or some other mechanism.
- Distributed & Scalable – supports running load tests distributed over multiple machines, and can therefore be used to simulate millions of simultaneous users
- Web-based UI – user friendly interface that shows the progress of your test in real-time. You can even change the load while the test is running. It can also be run without the UI, making it easy to use for CI/CD testing.
- Can test any system – Locust primarily works with web sites/services, it can be used to test almost any system or protocol
- Used to simulate millions of simultaneous users.
- Small and very flexible.
Website: locust.io
Support: Documentation, GitHub Code Repository
Developer: Jonatan Heyman, Lars Holmberg, Carl Byström, Joakim Hamrén, Hugo Heyman, and many contributors
License: MIT License

Locust is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Web Server Benchmarking Tools | |
|---|---|
| Locust | Easy to use, scriptable and scalable performance testing tool |
| Apache JMeter | Load testing and performance measurement application |
| k6 | Modern load testing tool for developers and testers in the DevOps era |
| wrk | Modern HTTP benchmarking tool |
| Siege | HTTP regression testing and benchmarking utility |
| AutoCannon | Fast HTTP/1.1 benchmarking tool |
| Tsung | Multi-protocol distributed load testing tool |
| bombardier | Uses fasthttp instead of Go’s default http library, |
| ApacheBench | Apache (and other web servers) benchmark tool |
| Cassowary | Modern HTTP/S, intuitive & cross-platform load testing tool built in Go |
| Drill | HTTP load testing application written in Rust |
| httperf | HTTP load generator |
| FunkLoad | Web testing tool in the same spirit as Perl's WWW::Mechanize |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

