Locust is an open-source performance testing tool. Test scenarios, written in Python, are oriented toward simulating users, rather than out-of-context requests.
It offers a web-based dashboard with charts visualizing the course of the tests and useful statistics. This UI allows you to change the test parameters and start new tests, making local development and testing easy. Depending on the need, you can deploy the dashboard to manage and monitor the test results, or you can use the headless mode if you plan to run the load tests e.g. in an automated pipeline.
Another Locust feature that we found useful is distributed load testing. You can start multiple Locust instances
worker mode, which are then managed by a single
master instance through the Locust web interface. This allows you
to simulate even more load or implement more complex test plans. We have successfully implemented this setup
using Kubernetes and Locust helm chart.
At Kiwee, anytime we need to implement some load tests, we will consider Locust as the solution. What we like is the ease of implementation of test scenarios, the flexibility in defining load shapes—no matter if you need to plan a sudden spike or slow ramp up—and the possibility to quickly deploy Locust UI or incorporate it.
Read our opinion on K6, another performance testing tool.