Executor - per-vu-iterations - not creating the expected amount of VUs


Maybe I missed something in the documentation for https://k6.io/docs/using-k6/scenarios/executors/per-vu-iterations

Just want to double check and confirm if this is correct or not. I have 3 scenarios each using per-vu-iterations and in each scenario there are 30, 60 and 150 vus with 1 iteration.

When I run the test with all 3 scenarios, the console shows that 210 VUs are created.

Shouldn’t the number of max VUs be 240 instead of 210 ?
If its 210 doesn’t that mean that some VUs will do more than one iteration ?

See the startTime: 2m15s of the last scenario. The first scenario starts immediately and only takes 1m30s at most (maxDuration: 1m0s + gracefulStop: 30s). So k6 knows it can reuse the VUs from the first scenario into the third one, and allocates only 210 VUs for better performance and efficiency.

1 Like

Thanks @ned for the fast reply. You guys are awesome at doing that :smiley:

Based on your comment I was able to force k6 to create 240 VUs by increasing the gracefulStop of the first scenario.