I am relatively new to k6 and definitely new to Grafana/InfluxDB. But thanks to @oleiade Grafana/InfluxDB/Prometheus Docker setup at GitHub - oleiade/k6-support: A full-fledged local k6 ecosystem a docker-compose up away it was very easy to get things setup
Now I have some general questions with k6 and InfluxDB and Prometheus. I started with only using k6 with InfluxDB 1.8/Grafana and have found that under high concurrency InfluxDB needs tuning parameters like K6_INFLUXDB_PUSH_INTERVAL
and K6_INFLUXDB_CONCURRENT_WRITES
and see it’s a known issue
- Running k6 with high number of VUs overloads InfluxDB · Issue #1060 · grafana/k6 · GitHub and
- Reduce cardinality of data sent to InfluxDB · Issue #485 · grafana/k6 · GitHub.
I can push to around 2000 VUs with InfluxDB before gets less stable/reliable for metrics recorded in Grafana by tweaking K6_INFLUXDB_PUSH_INTERVAL
and K6_INFLUXDB_CONCURRENT_WRITES
and stripping some metrics/tags for my scripted tests (thanks for @mstoykov post for tips). I understand it is also dependent on the system and hardware handling things.
So the questions are:
- oleiade’s Docker image adds Prometheus to the mix while official K6 Docker compose image doesn’t include Prometheus. Would Prometheus out of the box and potentially after tuning, handle heavier k6 benchmark VUs loads than InfluxDB would handle?
- I’ve seen a few mentions for workarounds to InfluxDB to scale with putting Telegraf in front and use that as a middleman.
I’ve modified odeiade’s Docker image to add Telegraf 1.22 into the mix and I can properly setup Telegraf to pull in my Docker/host image stats in a separate Grafana dashboard. But I haven’t found any online guides that outline how I’d go about this for k6 > telegraf > influxdb > grafana workflow
? Any pointers to where to read up on this?