Multiple Load Injectors

Any advise or workaround to scaling our test with multiple load injectors with Opensource version of K6.

Hi @Gerard !

I’m not sure if I correctly got the question, but maybe k6-operator is what you are looking for?

Let me know if that answers,
Cheers

We run multiple load injectors (up to 100) generating 15K transactions per second during a single test running jmeter

The technique involves using jenkins orchestrating shell script to fire up AWS ec2 instances, copying config files to each instance and then executing the tests. Data is collated to a central data store (elastic search) and any log files are copied to s3 at the completion of the test.

We have modified this technique to support K6 with no issues (apart from the log data being waaay to large to support our full load) and using Influxdb as the data store.

It’s a bit clumsy but does work. if we’d been more confident 5 years ago we might’ve gone done the cloudformation path or some sort of other pipeline tool, but current approach leveraged technique we were comfortable with.

Hi @BobRuub,

Can you explain little detail how you achieve on K6. And how to collate the raw data and prepare the final report on K6.

Here’s a high level step by step but the implementation would depend on how you do your infrastructure, local machines, AWS, Google Cloud, Azure.

Also requires you to have an influxdb database available.

  1. Create a load generator, we use AWS CLI to do this.
  2. copy any K6 files, js files, cvs data files, to each injector, we use scp to do this
  3. execute the load test, output to influxdb, we use ssh to do this.
  4. we use grafana for monitoring and reporting, utilising this dashboard as a starting point (k6 Load Testing Results dashboard for Grafana | Grafana Labs).

as you can see it simple in concept but much more complex in execution. We’ve got it down to a fine art but it took a while to iron out all the bugs.