tor-jmeter is a docker image to enabling jmeter making request to an onion service (tor's hidden service).
tor-jmeter is based on an excellent work (lazzurs/jmeter)[https://hub.docker.com/r/lazzurs/jmeter].
The drive for this tor-jmeter creation is for enabling cloud based continuous integration (CI) pipeline, while keeping data and services safely stays in local test developer's machine or their original machines.
tor-jmeter is can be retrieved by pulling it from dockerhub (indraginanjar/tor-jmeter)[https://hub.docker.com/r/indraginanjar/tor-jmeter]
docker pull indraginanjar/tor-jmeter:5.2
tor-jmeter is on early development, expect it to be not working or troublesome.
Please be kind, Tor network is provided by volunteers, so PLEASE AVOID ABUSIVE TESTING on tor network.
Please make sure these next things:
-
Only use tor-jmeter for checking correctness of the test plan, not for real performance/load/stress testing.
-
Keep loops count very low, '1' is an ideal number.
-
Keep threads/users number very low, '1' is an ideal number.
-
Keep request number very low, '1' is an ideal number.
-
Keep transmitted data size low.
-
Set delay between request, whenever feasible.
If you run tor-jmeter without parameter, the container will execute /container-init.sh
script, who run jmeter http proxied through polipo and tor without GUI (parameter -n)
docker run --rm indraginanjar/tor-jmeter:5.2
This is an example how to run a JMeter's test plan with tor-jmeter
docker run --rm --name torjmeter -v $(pwd):/home/jmeter/apache-jmeter-5.2/plan indraginanjar/tor-jmeter:5.2 -n -t plan/test-plan.jmx
docker run --rm --name torjmeter -v $(pwd):/home/jmeter/apache-jmeter-5.2/plan indraginanjar/tor-jmeter:5.2 /container-init.sh -l result.csv -e -o plan/report -f -t plan/test-plan.jmx
./bin/docker_build.sh
./bin/docker_run_bash.sh