Dear Wiki user, You have subscribed to a wiki page or wiki category on "Jakarta-jmeter Wiki" for change notification.
The "JMeterAutomatedRemoteTesting" page has been changed by brettcave. http://wiki.apache.org/jakarta-jmeter/JMeterAutomatedRemoteTesting?action=diff&rev1=2&rev2=3 -------------------------------------------------- = Requirements = This article assumes that you: + * know the basics of JMeter * have an existing test plan * have a bit of knowledge on using variables in test plans @@ -16, +17 @@ * The test plan does not need Listeners, as this will be configured via parameters. This will improve performance on the testing. * Run the test mode in stand-alone mode (i.e. no remote servers): `jmeter -n -t load_test.jmx -l load_test_report.jtl -q mytest.properties -j mytest.log` * 1 small piece of functionality missing is the ability to set global variables from a property file. the "-q" parameter defines an additional property file, which is the equivalent of setting properties for the contents of the file using the -J parameter. This parameters are not global however, as would be set by the -G parameter. the following bash script (if your using Linux) would help with converting a properties file to global properties: + {{{ for var in `grep -vE "^(#|$)" mytest.properties`; do GLOBAL_VARS="-G${var} ${GLOBAL_VARS}" done }}} - This is a relatively simple bash expansion, and will break if there are any spaces in variable names or values (e.g. test.description="My Test" - the space would break the bash for loop.) - * On all client machines, start up JMeter server, ensuring that firewall is not blocking connections (clients must all be on the same subnet). + * On all client machines, start up JMeter server, ensuring that firewall is not blocking connections (clients must all be on the same subnet). * On JMeter controller (the host initializing the test), run the test with the -R parameter (can be run using -r and specfiying hosts in jmeter properties file): + `jmeter -n -t load_test.jmx -l load_test_report.jtl -q mytest.properties -j mytest.log -R remotehost1,remotehost2 ${GLOBAL_VARS}` Note that load injection to targets will be a increased as a ratio of number of threads per thread group multiplied by number of client machines. - A script similar to the following could be used to start up jmeter: + A bash script similar to the following could be used to start up jmeter (called jmeter_test_wrapper.sh for example): + {{{ #!/bin/sh @@ -43, +46 @@ HOST_LIST=${HOST_LIST:+"-R ${HOST_LIST}"} for var in `grep -vE "^#|^$" ${JMETER_CUSTOM_PROPERTIES}`; do - GLOBAL_VARS="-G${var} ${GLOBAL_VARS}" + GLOBAL_VARS="-G${var} ${GLOBAL_VARS}" done if [ -f ${loadtest}.jmx ]; then - echo "Running ${loadtest} with:" + echo "Running ${loadtest} with:" - echo -e " ----------------------- - $JMETER -n - -t ${loadtest}.jmx + echo -e " ----------------------- + $JMETER -n + -t ${loadtest}.jmx - -l ${REPORT_DIR}/${loadtest}.jtl + -l ${REPORT_DIR}/${loadtest}.jtl - -p ${JMETER_PROPERTIES} - ${GLOBAL_VARS} - ${HOST_LIST} + -p ${JMETER_PROPERTIES} + ${GLOBAL_VARS} + ${HOST_LIST} - -j ${REPORT_DIR}/_${loadtest}.log + -j ${REPORT_DIR}/_${loadtest}.log - -----------------------" + -----------------------" - $JMETER -n \ - -t ${loadtest}.jmx \ + $JMETER -n \ + -t ${loadtest}.jmx \ - -l ${REPORT_DIR}/${loadtest}.jtl \ + -l ${REPORT_DIR}/${loadtest}.jtl \ - -p ${JMETER_PROPERTIES} \ - ${GLOBAL_VARS} \ - ${HOST_LIST} \ + -p ${JMETER_PROPERTIES} \ + ${GLOBAL_VARS} \ + ${HOST_LIST} \ - -j ${REPORT_DIR}/_${loadtest}.log + -j ${REPORT_DIR}/_${loadtest}.log else - echo "Could not find test plan for ${loadtest}" + echo "Could not find test plan for ${loadtest}" fi }}} + For a local test, you could run: `./jmeter_test_wrapper.sh` + For a remote test, it can be modified as `HOST_LIST="192.168.1.10,192.168.1.12" ./jmeter_test_wrapper.sh` + Now all you need to do is make sure the servers are running and add the above command into scheduler. --------------------------------------------------------------------- To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org