-
Notifications
You must be signed in to change notification settings - Fork 1.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
Arrival-rate executors wrongly report the currently active vus
#1954
Comments
I tracked down the issue to We don't initialize more than 100 VUs, since that is checked by this code: https://github.com/k6io/k6/blob/e5d4d82d16c0c86154f017971f4233b43702165d/lib/executor/ramping_arrival_rate.go#L457-L471 But we because we always call I can easily fix this if I just add the same |
It seems to me that Given the current logic and how it is only used in arraval-rate, I think it should just "never" increase it so the fix is to just change the second parameter to |
Yes, that would fix it as well. The I continue to dislike the optional boolean parameter, but you're right, that might be a better quick fix, for now and a more thorough refactoring can be done in the future, if necessary. |
If we run this k6 script:
we'll get something like this in the end-of-test summary (and any external outputs):
this is despite the fact that k6 would not have even allocated more than 100 VUs, much less used them, which is obvious both by the
vus_max
metric info (i.e. "initialized VUs", for which 100 is correct and expected) and by the warnings we see during the script execution itself:This has occurred since k6 v0.27.0, where we introduced arrival-rate executors with #1007, and seems to be caused by allocating VUs mid-test? That is, the problem seems to disappear if we use
preAllocatedVUs: 100
.I haven't tested any of the other executors, so it might be a good idea to double-check them with an external output or a
k6 stats
command mid-test, just in case.The text was updated successfully, but these errors were encountered: