Skip to content

Instantly share code, notes, and snippets.

@smarigowda
Last active August 29, 2015 14:18
Show Gist options
  • Save smarigowda/0f5745e27c89ff404362 to your computer and use it in GitHub Desktop.
Save smarigowda/0f5745e27c89ff404362 to your computer and use it in GitHub Desktop.
jmeterCloud
# prerequisites
# ubuntu + docker + docker-machine + digital ocean cloud
-- create a docker host for jmeter-server
JMETER_SERVER_ID=1
docker-machine create --driver digitalocean --digitalocean-access-token $DOTOKEN jmeter-server${JMETER_SERVER_ID}
-- create a docker host for jmeter-client
docker-machine create \
--driver digitalocean \
--digitalocean-access-token $DOTOKEN \
jmeter-client
-- activate jmeter-server1 docker host
docker-machine active jmeter-server1
-- load environment to shell
$(docker-machine env jmeter-server1)
export SLAVE_IMAGE=santosharakere/jmeter-server
export MASTER_IMAGE=santosharakere/jmeter
export DATADIR=data-dir
export CWD=$(readlink -f .)
export NUM_SERVERS=1
export HOST_WRITE_PORT=60000
export HOST_READ_PORT=1099
export LOGDIR=${CWD}/logs/1
-- run jmeter-server1
-- ports 1099 and 60000 should be exposed or mapped
docker pull santosharakere/jmeter-base
docker pull santosharakere/jmeter
docker pull santosharakere/jmeter-server
docker run -d -p 0.0.0.0:1099:1099 -p 0.0.0.0:60000:60000 -p 0.0.0.0:4445:4445 -v /root:/logs santosharakere/jmeter-server -Djava.rmi.server.hostname=104.236.75.23 -Dmode=Standard
docker run -d -p 0.0.0.0:1099:1099 -p 0.0.0.0:60000:60000 -p 0.0.0.0:4445:4445 -v /root:/logs santosharakere/jmeter-server -Djava.rmi.server.hostname=104.131.99.6 -Dmode=Standard
docker run -d -p 0.0.0.0:1099:1099 -p 0.0.0.0:60000:60000 -p 0.0.0.0:4445:4445 -v /root:/logs santosharakere/jmeter-server -Djava.rmi.server.hostname=45.55.136.217 -Dmode=Standard
-- docker run -d -p 0.0.0.0:1099:1099 -p 0.0.0.0:60000:60000 -v ${LOGDIR}:/logs -v ${DATADIR}:/input_data ${SLAVE_IMAGE} 1>/dev/null 2>&1
-- activate jmeter-client docker host
docker-machine active jmeter-client
$(docker-machine env jmeter-client)
-- ssh into jmeter-client host
docker-machine ssh jmeter-client
-- git clone jmeter-driver repository
mkdir ~/SAN
cd ~/SAN
git clone https://github.com/smarigowda/jmeter-driver.git
-- exit from jmeter-client host
exit
-- start jmeter client, provide list of jmeter-server IPs using -R command line option
docker pull santosharakere/jmeter-base
docker pull santosharakere/jmeter
docker pull santosharakere/jmeter-server
export SLAVE_IMAGE=santosharakere/jmeter-server
export MASTER_IMAGE=santosharakere/jmeter
export DATADIR=data-dir
export JMX_SCRIPT=~/SAN/jmeter-driver/test_google.jmx
export CWD=$(readlink -f .)
export NUM_SERVERS=1
export HOST_WRITE_PORT=60000
export HOST_READ_PORT=1099
export n=1
export LOGDIR=${CWD}/logs/${n}
export JMX_SCRIPT=test_google.jmx
export SERVER_IPS=104.236.75.23
docker run -p 0.0.0.0:1099:1099 -p 0.0.0.0:60000:60000 -p 0.0.0.0:4445:4445 -v /root/SAN/jmeterCloud/jmeter-driver:/jmeter-driver -v /root/SAN/jmeterCloud/jmeter-driver/logs:/logs santosharakere/jmeter -n -t /jmeter-driver/test_google.jmx -Djava.rmi.server.hostname=178.62.9.79 -l /logs/results.jtl -LDEBUG -R104.236.75.23,45.55.136.217,104.131.99.6
jmeter -n -t /root/SAN/jmeterCloud/jmeter-driver/test_google.jmx -l /root/SAN/jmeterCloud/results.jtl -LDEBUG -R104.236.75.23
-- watch log file
-- Notes
-- client.rmi.localport is required only on the client
-- server.rmi.localport is required only on the server
-- jmeter server
-- java.rmi.server.hostname is set to the IP of jmeter server
jmeter -s -j jmeter-server.log -Djava.rmi.server.hostname=104.236.75.23 -Dserver_port=2020
-- jmeter client
-- java.rmi.server.hostname is set to the IP of jmeter client
jmeter -n -r -t /root/SAN/jmeterCloud/jmeter-driver/test_google.jmx -Djava.rmi.server.hostname=178.62.9.79 -l /root/SAN/jmeterCloud/results.jtl -LDEBUG
jmeter -n -r -t /root/SAN/jmeterCloud/jmeter-driver/test_google.jmx -R104.236.75.23:2020 -Djava.rmi.server.hostname=178.62.9.79 -l /root/SAN/jmeterCloud/results.jtl -LDEBUG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment