If you'd like to really stress test your system LoadForge is capable of generating over 250,000 simulating users at above 50,000 requests per second. We've described our test configuration below used to achieve this on our systems.
Each LoadForge worker is able to generate between 10,000 and 20,000 virtual users (when using HTTPS/SSL). We allow up to 20 workers per test meaning you can ultimately run 20,000*20 = 400,000 virtual users. However, as your tests become more complex they may require more CPU to execute. For example, if you did plain HTTP it's much less work per virtual user and can scale much higher.
400,000 virtual users is a VERY large number of active users. When you think of users on a site only 10-30% of them will truly be active in the real world. Meaning 400,000 virtual users is well over a million people browsing a site at once.
We are warning uou because LoadForge can very easily overload your systems!
Below is an example setup we use to test web server performance, it basically generates a very high number of requests to the index page of our webserver.
Users: 250,000 Rate: 3000 Workers: 15
In our locustfile we dropped the wait time down to virtually nothing:
from locust import HttpUser, task, between class QuickstartUser(HttpUser): wait_time = between(0.5, 1) @task(1) def index_page(self): self.client.get("/")
This configuration generates around 50,000 RPS when testing SSL connections. Plain HTTP is much easier to stress test as it uses far less CPU.