Hi everyone.
Let me get straight to the point.
The default function of my k6 test will run through 50 different requests. So each iteration = 50 requests.
I want to create a 15 minute load test that does the following:
5 minutes β 100 RPS
5 minutes β 300 RPS
5 minutes β 200 RPS
What would be the best way to achieve that?
I tried using the following options, but the script usually results in a significantly smaller throughput than expected.
export let options = {
scenarios: {
nightly: {
executor: 'ramping-arrival-rate',
startRate: 0,
timeUnit: '1s',
preAllocatedVUs: 100,
maxVUs: 1000,
gracefulStop: '0s',
stages: [
{ target: Math.floor(100 / requestsPerIteration), duration: '5m' },
{ target: Math.floor(300 / requestsPerIteration), duration: '5m' },
{ target: Math.floor(200 / requestsPerIteration), duration: '5m' }
]
}
}
};
I assumed the above should start 2 iterations per second, then 6 iterations per second, and finally 4 iterations per second and by doing that achieve the expected RPS.
Did I misunderstand the options for this executor? Is ramping-arrival-rate the best executor for this use case?
Thanks.