Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JMeter distributed testing and command line parameters

Tags:

jmeter

I have been using JMeter parameters to specify test attributes like testduration, rampup period etc for load test. I specify these parameters in shell script and it looks like this -

JMETER_PATH="/home/<user>/apache-jmeter-2.13/bin/jmeter.sh"
${JMETER_PATH} \   
-Jjmeter.save.saveservice.output_format=csv \
-Jjmeter.save.saveservice.response_data.on_error=true \
-Jjmeter.save.saveservice.print_field_names=true \    
-JCUSTOMERS_THREADS=1 \
-JGTI_THREADS=1 \
// Some more properties

Everything goes good here.

Now I added distributed testing and modified above script with JMeter Server related info. Hence new script looks as -

JMETER_PATH="/home/<user>/apache-jmeter-2.13/bin/jmeter.sh"
${JMETER_PATH} \
-Jjmeter.save.saveservice.output_format=csv \
-Jjmeter.save.saveservice.response_data.on_error=true \
-Jjmeter.save.saveservice.print_field_names=true \
-Jsample_variables=counter,accessToken \
-JCUSTOMERS_THREADS=1 \
-JGTI_THREADS=1 \
// Some more properties
-n \
-R     127.0.0.1:24001,127.0.0.1:24002,127.0.0.1:24003,127.0.0.1:24004,127.0.0.1:24005,127.0.0.1:24006,127.0.0.1:24007,127.0.0.1:24008,127.0.0.1:24009,12$
-Djava.rmi.server.hostname=127.0.0.1 \

Distributed test runs well but test does not take parameters specified in script above into consideration rather it takes the default value from JMeter test plan -

enter image description here

Did I mess up any configuration?

like image 852
Tarun Avatar asked Nov 16 '15 13:11

Tarun


People also ask

Which command line switch is used to specific distributed mode of test execution in JMeter?

Distributed test Execution -n – instruct jmeter run the test in non-GUI mode. -t – specify the path of . jmx file. -R- list of remote servers / slaves for the test.

Can distributed testing is done by JMeter?

Distributed testing enables having a local JMeter (master) that handles the test execution, together with multiple remote JMeter instances (slaves) that will send the request to our target server. But before being able to run JMeter in a distributed way, there are a couple of simple steps you must perform.

Can JMeter be run from command line?

If you are testing from behind a firewall/proxy server, you may need to provide JMeter with the firewall/proxy server hostname and port number. To do so, run the jmeter[. bat] file from a command line with the following parameters: -E.


1 Answers

Use -G instead of -J for properties to be sent to remote machines as well. -J is local only.

-D[prop_name]=[value] - defines a java system property value.
-J[prop name]=[value] - defines a local JMeter property.
-G[prop name]=[value] - defines a JMeter property to be sent to all remote servers.
-G[propertyfile] - defines a file containing JMeter properties to be sent to all remote servers.

From here

like image 62
RaGe Avatar answered Oct 05 '22 22:10

RaGe