We are trying to carry out soak-tests.
Implemented such scenario:
executor: ramping-arrival-rate,
startRate: 1,
timeUnit: '1s',
preAllocatedVUs: 10000,
stages: [
{ target: 30000, duration: '30m' },
{ target: 30000, duration: '1h' },
{ target: 1, duration: '5m' }
]
In default function there are two requests with some checks.
Our setup is following:
k6 + InfluxDBv1 + Grafana
In Grafana we are using following dashboard:
We are expecting to see in dashboard “Requests per Second” numbers close to target (iterations) values (~30000 or ~60000 (as there are two requests)), but, instead we observing strange behaviour and numbers:
InfluxDB query used in first graph/panel “Requests per Second”:
SELECT sum("value") FROM "http_reqs" WHERE $timeFilter GROUP BY time(1s) fill(null)
InfluxDB query used in second graph/panel “Requests per Second”:
SELECT
count("value") * 1000 / $__interval_ms
FROM /^$Measurement$/
WHERE $timeFilter
GROUP BY time($__interval) fill(null)
Same picture and results with following scenarios:
executor: ramping-arrival-rate,
startRate: 1,
timeUnit: '1s',
preAllocatedVUs: 1000,
stages: [
{ target: 3000, duration: '30m' },
{ target: 3000, duration: '1h' },
{ target: 1, duration: '5m' }
]
executor: ramping-arrival-rate,
startRate: 1,
timeUnit: '1s',
preAllocatedVUs: 10000,
stages: [
{ target: 30000, duration: '1h' }
]
(at least numbers (orders of magnitude) do not change much)
Why we are getting such results? Is it actually expected behaviour and numbers and we just missing something? Or something really wrong with our setup/script/expectations?