🚨 This project is outdated/abandoned/archived and will not be updated anymore. 🚨


Distributed JMeter - Docker

Apache Jmeter™ is an open source tool that helps creating and running load test plans. And this Docker image was created to help you running different versions of JMeter in a Docker container, also helping you running in a distributed fashion (master -> server approach).

Supported tags

The Dockerfile here is managed and built with arguments what helps building and pushing our JMeter images for all versions of JMeter available. If you want more information, have a look on the Makefile.

  • 3.3, latest
  • 2.6
  • 2.7
  • 2.8
  • 2.9
  • 2.10
  • 2.11
  • 2.12
  • 2.13
  • 3.0
  • 3.1
  • 3.2
  • 4.0
  • 5.0

Running Master or Server

Master

docker run -p 60000:60000 -v <TEST_PLAN_LOCAL>:<TEST_PLAN_CONTAINER> -d pedrocesarti/jmeter-docker:latest master

Server

docker run -p 1099:1099 -p 50000:50000 -d pedrocesarti/jmeter-docker:latest server

Running Master and Server (Docker Compose)

You can also create a whole stack with master and servers to run a distributed JMeter tests locally or in a Docker Swarm Cluster. Check out this docker-compose.yml to see one example of this infra running locally. This example is going to create a master and a server container running locally, and you can also scale up and down the number servers instancesrunning.

docker-compose up -d
docker-compose scale server=5

Volumes

Another good point to mention here is that we suggest that you use volumes to share your test plans with the master container and once you have your test plans on your master container, you only going to need exec:

jmeter -n -t script.jmx -R server1,server2,…

You can also use this docker-compose to deploy in a Docker Swarm cluster defining better techniques to scale the number of replicas you want for each service and add all power of the internal discovery service.

K8s

For the Kubernetes support, also have a look at the official helm/chart repository.

Enjoy! :)