You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I faced with the problem of a sharp RPS decrease for some time after reaching the maximum number of users for the test when using a wait_time = constant_pacing(30).
How to reproduce the problem:
there is a target RPS for a specific request (TEST in my case) equal to 100 requests/sec (6000 requests per minute);
request response time = random value from 1 to 5 seconds;
required number of VU = 6000 / 2 = 3000.
Additionally:
Locust 2.17.0;
test duration = 10 minutes;
use locust-plugins to send metrics to TimescaleDB.
I created a test locust script, launched it, and after reaching all 3000 VU in 30 seconds, I get a sharp drop in RPS and then the same quick return to the target intensity. In this test case, everything may not look so critical, given the return to the desired RPS, but in real tests with a large load step this causes problems due to the longer “hole” in RPS.
Expectations
I expect locust not to make such RPS drops after reaching needed VU value.
Example from JMeter
For example, the same test in JMeter doesn't have the same problem.
Interesting. I can reproduce this, without --timescale, and at lower ramp up rates too. It is much less noticeable when users have time to run more than once before rampup is finished, but it is still there.
I think there is a bug in the logic for constant_pacingfor the first time it sleeps. I think it implicitly assumes that the first run was instantaneous. It should definitely be fixable but needs some rethinking, because the wait_time function doesnt really get called until after the first iteration.
Prerequisites
Description
Pacing problem
Hello!
I faced with the problem of a sharp RPS decrease for some time after reaching the maximum number of users for the test when using a wait_time = constant_pacing(30).
How to reproduce the problem:
Additionally:
I created a test locust script, launched it, and after reaching all 3000 VU in 30 seconds, I get a sharp drop in RPS and then the same quick return to the target intensity. In this test case, everything may not look so critical, given the return to the desired RPS, but in real tests with a large load step this causes problems due to the longer “hole” in RPS.
Expectations
I expect locust not to make such RPS drops after reaching needed VU value.
Example from JMeter
For example, the same test in JMeter doesn't have the same problem.
Command line
-m locust --timescale --pguser=postgres --pgpassword=password --class-picker -f
Locustfile contents
Python version
3.11.0
Locust version
2.17.0
Operating system
macOS Ventura 13.4.1 (c) (22F770820d)
The text was updated successfully, but these errors were encountered: