Skip to content
Lars Holmberg edited this page Mar 18, 2021 · 43 revisions

Add things that you ran into and solved here! Anyone with a GitHub account can contribute!

If you have questions about Locust that are not answered here, please check StackOverflow, or post your question there. This wiki is not for asking questions but for answering them :)

How do I...

Sort out installation issues

See Installation

Increase my request rate/RPS

  1. Increase the number of users. In order to fully utilize your target system you may need a lot of simultaneous users. Locust makes at least one DNS Request per User, so ensure that you're not running into DNS Performance problems / the Flood Protection of your Provider.
  2. If response times are unexpectedly high and/or increasing as the number of users go up, then you have probably saturated the system you are testing and need to dig into why. This is not really a Locust problem, but here are some things you may want to check:
  • resource utilization (e.g. CPU, memory & network. Check these metrics on the locust side as well)
  • configuration (e.g. max threads for your web server)
  • back end response times (e.g. DB)
  1. If Locust is complaining about high CPU usage on its side
  • Run Locust distributed to utilize multiple cores & multiple machines
  • Try switching to FastHttpUser to reduce CPU usage
  1. If you are using a custom client (not HttpUser or FastHttpUser), make sure any client library you are using is gevent-friendly, otherwise it will block the entire Python process (essentially limiting you to one user per worker)

Clear cookies, to make the next task iteration seem like a new user to my system under test

Call self.client.cookies.clear() at the end of your task.

Control headers or other things about my HTTP requests

Locust's client in HttpUser inherits from requests and the vast majority of parameters and methods for requests should just work with Locust. Check out the docs and Stack Overflow answers for requests first and then ask on Stack Overflow for additional Locust specific help if necessary.

Create a Locust file based on a recorded browser session

Try using Transformer

How to run a Docker container of Locust in Windows Subsystem for Linux (Windows 10 users)?

If you use WSL on a Windows computer, then you need one extra step than the "docker run ..." command: copy your locusttest1.py to a folder in a Windows path on your WSL and mount that folder instead of your normal WSL folder:

$ mkdir /c/Users/[YOUR_Windows_USER]/Documents/Locust/
$ cp ~/path/to/locusttest1.py /c/Users/[YOUR_Windows_USER]/Documents/Locust/
$ docker run -p 8089:8089 -v /c/Users/[YOUR_Windows_USER]/Documents/Locust/:/mnt/locust locustio/locust:1.3.1 -f /mnt/locust/locusttest1.py

Check the list of issues (a lot of questions/misunderstandings are filed as issues)

Clone this wiki locally