Rbillon59/jmeter-k8s-starterkit

jmeter-slave pod requested too many cpu and memory.

mugioka opened this issue · 3 comments

Hi, this tool is very nice.
However, the jmeter-slave pods that this tool creates seem to require a lot of CPU and memory. So even if I create a lot of pods, they will not run.
So I think it would be better to reduce the cpu and memory requested, what do you think?

https://github.com/Rbillon59/jmeter-k8s-starterkit/blob/master/k8s/jmeter/jmeter-slave.yaml#L85-L88

How about changing the above requests to the following?

resources:
    requests:
            memory: "512Mi".
            cpu: "512m"
```

Hi @mugioka

It's really hard to answer correctly to this issue for some reasons.
JMeter can be used for a lot of use cases. From very simple API calls, to very complex UI testing with a lot of regular expressions, extractions, DOM parsing etc...

Thus, I've seen JMeter injectors hitting 500 requests per seconds with 256MB of RAM and half a CPU usage. Also, I've also worked with some scenarios that barely hit 50 hit per seconds with the same config, and even getting Out of Memory. Plus, it completely depends of the type of tests you will run. Will it be in a continuous integration pipeline for unit tests ? Will it be to run a crash test against an API with hundreds of injectors ? The performance testing is vast and there is unfortunately not a generic response for resources requests

Also, load injectors should not be the suspect when analyzing a performance regression. And if you do not provide enough resources to the injectors, you'll get unexpected behaviors.

Thus that's why I decided to put high resources requests for each injectors.

Finally, I would say that this repository is a template repository you will use to create your own repo. Hence you're free to lower resources requests according to your scenario complexity and use-cases

Have a nice day !

Thank you for the reply.

The performance testing is vast and there is unfortunately not a generic response for resources requests

Also, load injectors should not be the suspect when analyzing a performance regression. And if you do not provide enough resources to the injectors, you'll get unexpected behaviors.

You're right.

I would say that this repository is a template repository you will use to create your own repo

OK, I will do it.

Thank you for your kind answer. I will close this issue.