So it doesn’t specifically state anywhere that you CAN’T (at least that i’ve found). But im wondering if I can use multiple executors.
In my scenario I need to:
1 . Run thousands of requests (10k+) against an endpoint with 10,000 unique ID’s (IE: /users/update/{n})
2. Each VU CANNOT hit the endpoint more than once total (among all VU’s).
3. I also need to control the rate at which the endpoint is hit (IE: 15 times a min or whatever)
so 1 and 2 I accomplished with the shared-iterations
executor (Also pardon if im new to a lot of the executor/scenario stuff, I’ve just started on that). Using an option like this:
export const options = {
scenarios: {
'shared-csv-iterations': {
executor: 'shared-iterations',
vus: 20,
iterations: csvData.length,
maxDuration: '1h',
},
},
};
Im reading in 1000’s of unique guids in a CSV file just for context, so the iterations should equal the total number of guid’s.
However can I also perhaps control the rate of the requests as well? I know RPS is discouraged since it can be difficult to calculate, but I didn’t know if I could combine executors (Such as using the constant-arrival-rate
executor as well?)
Otherwise I guess it’s just a matter of doing some calculations and sleeping an appropriate amount of time between requests?