Locust.io Heavy Load Testing

Jonathan Reyes picture Jonathan Reyes · May 21, 2014 · Viewed 9k times · Source
  1. Are there limits to the number of users locust.io can support in a "swarm"?
  2. Where is the documentation on distributed load testing for locust.io?

We would like to load test our site with 50-100k concurrent users, and I see locust can support thousands of users on one machine, but we would like to increase it. How can we setup locust on multiple machines to run the same test? Seems to hint to it on the README and documentation.

The master slave documentation can be found here:

http://docs.locust.io/en/latest/api.html?highlight=master

Answer

cgbystrom picture cgbystrom · May 21, 2014
  1. In theory, yes. Due to the master/slave setup Locust uses you will be limited to what the master can process. However, we haven't seen any issues with that when load testing Battlelog (the online service for the Battlefield game series). For Battlefield 3, we simulated over 2 million concurrent users without problems. Exactly how many slave machines you need is hard to say since it depends on what they do and how idle / how much wait time you are planning.

  2. You will need to setup machines running Locust slaves and have them connect to the master. A common setup is to run the master on one machine then run one slave process per CPU core on each slave machine. Using a cloud provider where you pay by the hour is highly recommended when doing large scale tests. We use AWS for our testing and we love it! Using the AWS Python library boto and Fabric can be a good combo for automating and setting up your slave machines and uploading your Locust scripts.

For more information on how to run Locust distributed set up see the new documentation page