HI,
Our group are checking several of tools for performance testing.
During the evaluation of k6s we notice a high (crazy ) resource consumption.
The scenario is quite simple but heavy
Run 23000 (constant) requests (yes, we need this number exactly) per second for a few hours to only one API.
When running the following simple test we start with. m5.8xlarge
we reach 99% of node cpu consumption after 8 min so the RPS was only 2500. we double the machine to m5.16xlarge 64 cpu 256 GiB we got about ~4800 RPS and the node cpu was throttling as the k6 app consume 62 cpu! before it reach the pick, we can try on larger machine but I guess we will not get to our KPI. is there any limitation issue with our numbers for K6 ?
To verify we have create a new cluster with only k6s on it and monitoring the cluster show clearly that that k6 is taking all the resource.
Should we run the test differently ?
export let options = {
insecureSkipTLSVerify: true,
scenarios: {
test1: {
executor: 'constant-arrival-rate',
exec: “testFunc”,
rate: 23000,
timeUnit: '1s',
duration: ‘6000s',
preAllocatedVUs: 23000,
maxVUs: 23000,
},
},
thresholds: {
'http_req_duration': ['p(99)<2000’],
'health is ok': ['p(99)<2500'],
},
};
export function testFunc() {
let r = http.get(`<ourAPI>`);
check(r, {
‘ok’: (res) => res.status === 200,
});
}
Please let us know how to proceed. or should we try different type of test…