-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reach to 3k RPS #710
Comments
That sounds very strange. Have you checked the resource usage (CPU/Memory/network bandwidth) on the servers when you run the tests, to see where the bottleneck is? |
you first need to figure out if this limitation in your setup is with Locust or the Application under test. |
@heyman CPU and memory usage is about 40% and I'm going to check network bandwidth. My question is how you set parameters to reach specific RPS (consider we can use any numbers of servers with config that mentioned in my question) |
@hoseinabedi71 Is that 40% on the Locust machines or on the system that you're testing? 40% CPU for generating ~2 requests/second/slave client (with each client having it's own core) sound way too high unless you're doing something extremely resource intensive within your test scripts (e.g. spawning a headless browser in each simulated user). You can't set a specific RPS in Locust. You define user behaviour using code, and then you choose the number of users you want to simulate. In most cases it should be more relevant to know how many users a system can handle, than the number of requests/s. With that said, you should be able to set a high number of users to simulate, and then let Locust spawn users until you reach your target RPS. Like @cgoldberg says, you need to figure out where your bottleneck is. To me it sounds like the hardware you're using for the Locust cluster should be able to generate waay more load than the 300 reqs/s you say you reach. Therefore, my guess would be that the bottleneck is somewhere in the system that's being tested, though it's impossible to know without more info. |
@heyman thank you so much. i'm found that it's my application fault. |
👍 |
have you ever reached 3k RPS?i tried many times,none of them ever reached 30 RPS.
|
@zhusihan-python Are you sure it's not the application that you're testing that is your bottleneck? Have you tried running tests against an nginx webserver? |
I wonder if we should add a "debugging low RPS" page or something - this question comes up so often and so often it's the service under load that is limiting the RPS and not Locust... |
The OP never described the network topology or how much i/o is being done. The network could be the bottleneck. |
@heyman i tried a POST method instead of GETmethod then i can reach 500 RPS, i think its my application problem, thanks for your help.Locust suit my work well, its flexible and powerful, not like loadrunner only work well with ancient web browser and needs more computer to get enough RPS~ |
@aldenpeterson-wf that would be great to make locust a better tool, and would be helpful to many testing enginners like me.I'm looking forward to this feature. |
@zhusihan-python |
@cgoldberg its my fault, its 3MB/s.The bandwidth is 50MB/s,but the upload or download rate is usually 1/10 of bandwidth, around 5MB/s.Anyway, in this case, the bandwidth is not the bottleneck but the application itself.Thanks for all your help~ |
Yeah, sounds like a good idea. We could even name it "Troubleshooting" to make it a bit more general. |
Description of issue / feature request
i'm running 20 VPS for slaves with config :
-8 core
-16G Ram
-each VPS run 8 slaves
and 1 master slave with same config
i'm moving "Number of users to simulate" from 1k to 1M (increasing file descriptors) but max RPS was about 300.
my .py file run 3 GET request to 3 different pages with min_wait=100, max_wait=200
what is your suggestion for increasing RPS?
Environment settings (for bug reports)
The text was updated successfully, but these errors were encountered: