Member-only story
Introduction To Locust: An Open-Source Load Testing Tool in Python
A Python-based alternative to Tsung and JMeter for load testing your server

Fed up with the existing tools for benchmarking and load testing an existing server, I recently found an open-source tool called Locust
to use in one of my projects.
By reading this piece, you’ll be able to use this load testing tool. This provides you with a rough idea of how much requests per second are (RPS) supported by your server. According to the official documentation, Locust is:
“… an easy-to-use, distributed, user load testing tool. It is intended for load-testing web sites (or other systems) and figuring out how many concurrent users a system can handle.
The idea is that during a test, a swarm of locusts will attack your website. The behavior of each locust (or test user if you will) is defined by you and the swarming process is monitored from a web UI in real-time. This will help you battle test and identify bottlenecks in your code before letting real users in.
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. Instead it uses light-weight processes, through gevent. Each locust swarming your site is actually running inside its own process (or greenlet, to be correct). This allows you to write very expressive scenarios in Python without complicating your code with callbacks.”
There are four sections in this tutorial:
- Setup
- Basic Usage
- Command Line Interface
- Conclusion
Let’s get started!
1. Setup
Installation is pretty straightforward as Locust
is supported on 3.6, 3.7, and 3.8 (from version 0.14 onwards). You can simply run the appropriate pip command to install it based on your Python version. It is highly recommended to set up a virtual environment first.
Please be noted that locust has been renamed from locustio
to just locust
.