How much parallelism is necessary?

While the answer might simply be “it depends on the scenario” or “it depends on the VU,” we need to prepare parallelism according to a specific calculation formula to ensure the intended load is applied.

Since the Pod is of the BestEffort class, it will attempt to use as many node resources as necessary to apply the defined load, but there is a limit to what a single Pod can handle. Therefore, I believe that parallelism is provided in the TestRun CRD.
However, I am unsure about how much parallelism should be prepared for the defined scenario.

Should we conduct several load tests, monitor whether the intended load is being applied, and if not, increase the parallelism while testing? (Conversely, if we prepare a significantly excessive amount of parallelism, the load will not exceed the scenario, so it should be fine, I think.)

Hi @githubeto, welcome to the community forum :tada:

The answer is 100% “it depends”.

Ultimately a k6 test is just a program that you (or I guess somebody on your team) wrote that k6 will execute.

How many VUs there are and what they do ultimately make a big difference. Also because k6 will make requests to a system, if the system returns faster or returns bigger responses this will make the test heavier.

The easiest way to know how much memory or cpu a program needs is to run it. Same is true here.

And just as with any other software it is a good idea to have more resources so that it doesn’t run of them in some spike situation.

You can read this guide on running large tests that is a bit dated but is likely just as true. It has additional tips on making big instances. Here are some even more date results … that again likely haven’t changed so much. Both of those though are against specific system with specific scripts, which might have nothing similar to yours.

Hope this helps you and … sorry there isn’t just some table that you can look into.

I understand very well, thank you.