Search code examples
dockerperformancejmeterperformance-testing

How to start with dockerized application load/performance testing with multi nodes of docker?


I've been asked by my client to start with docker based performance and load testing.

Also they have have multiple nodes on docker for the application.

They are expecting me to run a load test on the dockerized application and share the results.

By the way I'm totally unaware from where to start for this.

I've searched on Blaze meter community (https://www.blazemeter.com/blog/performance-testing-with-docker) about this as well but looking for some guidance to start with this docker load testing.

What presently I have is the docker : enter image description here

I also just wanted to know the suggestions what all parameters should we need to test when it comes to docker for performance testing.


Solution

  • You don't need Docker (or other virtualization solution) for load testing, containers don't add any value, they just consume resources.

    Moreover, JMeter doesn't know anything about the architecture of the system under test, whether it's dockerized, microservice, monolith, written in this or that programming language, etc. JMeter acts on the protocol level sending the request to the application, waiting for the response and measuring response time.

    So you don't need to "dockerize" JMeter in order to load test the dockerized application, you can have it on one machine (if it's powerful enough) or go for Distributed testing.

    However if you need the auto-scaling of JMeter slaves - you will need to consider a container orchestration solution like Docker Swarm or K8S, but this is a broader topic, from JMeter perspective there is no difference where master and slaves are executed: on bare metal, virtual machine or container.