How can I reliably send 100 requests in 1 second using k6 without dropped iterations?
Hi everyone,
I’m trying to run a k6 test scenario to send exactly 100 requests within 1 second to an endpoint (extract service). My goal is to fire 100 requests simultaneously or as close to that as possible, but I’m running into issues.
I would not use arrival rate execution for a case like this.
To me this seems like a good case for per-vu-iterations with 100 VUs and 1 iterations for each - it will probably start teh 100 requests way before the end of the 1second. Just make certain to put big enough maxDuration.
This very likely is your problem here as well - you make 100 iterations and then you stop the test. Given that this is a spike I expect your service just takes longer than the shutdown timeout which is why you do not get any iterations finished.
Hi @mstoykov ,
I would like to kindly request improved documentation on executors and their real-world use cases. I’ve always been confused about the practical differences between ramping VUs and ramping arrival rate, especially in real scenarios.
Your support has been very helpful — you’ve saved me a lot of time and effort.
Additionally, I would appreciate clarification on the difference between requests per second (RPS) and iterations per second
the difference is: an iteration is one execution of the export default function .
An iteration can execute multiple http requests, e.g. using the http.batch command. so one iteration per second with 3 simultaneous requests in an http.batch command is 3 RPS.