Last active
September 23, 2016 15:13
-
-
Save smarigowda/df9993b02306c35f14dd to your computer and use it in GitHub Desktop.
JMeter Cloud Setup Using Docker and Weave
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- JMeter Cloud Setup Using Docker and Weave -- | |
----------------------------------------------- | |
# Create three docker hosts for jmeter servers | |
# Use Virtual Box | |
docker-machine create --driver virtualbox jmServer1 | |
docker-machine create --driver virtualbox jmServer2 | |
docker-machine create --driver virtualbox jmServer3 | |
# open three terminals | |
# ssh to jmServer1, jmServer2 and jmServer3 | |
docker-machine ssh jmServer1 | |
docker-machine ssh jmServer2 | |
docker-machine ssh jmServer3 | |
# Install Weave on all the three hosts | |
sudo curl -L git.io/weave -o /usr/local/bin/weave | |
sudo chmod a+x /usr/local/bin/weave | |
# Launch Weave containers on jmServer1 | |
weave launch | |
weave status | |
# Set the DOCKER_HOST environment variable | |
eval $(weave env) | |
# Launch Weave on jmServer2 and jmServer3 and connect to weave network of jmServer1 | |
weave launch <public ip of jmServer1> | |
# Set the DOCKER_HOST environment variable on jmServer2 and jmServer3 | |
eval $(weave env) | |
# On jmServer1, Run three JMeter Slaves | |
docker run --name=jmserver1 -d -v /home/docker:/logs santosharakere/jmeter-server -Djava.rmi.server.hostname=jmserver1 | |
docker run --name=jmserver2 -d -v /home/docker:/logs santosharakere/jmeter-server -Djava.rmi.server.hostname=jmserver2 | |
docker run --name=jmserver3 -d -v /home/docker:/logs santosharakere/jmeter-server -Djava.rmi.server.hostname=jmserver3 | |
# On jmServer2, Run three JMeter Slaves | |
docker run --name=jmserver4 -d -v /home/docker:/logs santosharakere/jmeter-server -Djava.rmi.server.hostname=jmserver4 | |
docker run --name=jmserver5 -d -v /home/docker:/logs santosharakere/jmeter-server -Djava.rmi.server.hostname=jmserver5 | |
docker run --name=jmserver6 -d -v /home/docker:/logs santosharakere/jmeter-server -Djava.rmi.server.hostname=jmserver6 | |
# On jmServer3 | |
# Run a JMeter Master | |
mkdir /home/docker/jmeterCloud | |
cd /home/docker/jmeterCloud | |
git clone https://github.com/smarigowda/jmeter-driver.git | |
docker run --rm --name=jmMaster -v /home/docker/jmeterCloud/jmeter-driver:/jmeter-driver -v /home/docker/jmeterCloud/jmeter-driver/logs:/logs santosharakere/jmeter -n -t /jmeter-driver/test_google.jmx -Djava.rmi.server.hostname=jmMaster -l /logs/results.jtl -LDEBUG -Rjmserver1,jmserver2,jmserver3 | |
# JMeter master executes the jmeter test plan on all the Six jmeter slaves containers, results are stored in a jtl file | |
# jtl file can be located at /home/docker/jmeterCloud/jmeter-driver/logs/results.jtl | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment