Following are the troubleshooting steps to implement remote distribution load testing in JMeter.
- Same version of JMeter in master and worker
- Same version of Java in master and worker
- Master should be able to ping worker, vice-versa
- Master and Worker machines must be on the same sub-network. Here is the calculator to check.
- Firewall should be disabled
- Anti-virus might need to be turned off
- Delete the unnessary network interfaces in Windows to avoid the network related issues
- By default, JMeter uses SSL in RMI.
- SSL for RMI certificate has the validity of 7 days by default, make sure you generate the certificate once in 7 days. The number of days can be changed in the
create-rmi-keystore
file:keytool -genkey -keyalg RSA -alias rmi -keystore rmi_keystore.jks -storepass changeit -validity 7 -keysize 2048 %*
- Place the generated certificate in all the worker nodes
- If the test plan uses, plugins, make sure it is available in the worker nodes.
- Troubleshoot the remote testing by disable SSL in
jmeter.properties
Make sure you enabled only below connections in your network.
remote_hosts=<WorkerIP>
server.rmi.ssl.disable=true
server.rmi.localport=4000
./jmeter-server -Djava.rmi.server.hostname=<Worker_IP>
Sample Output
Using local port: 4000
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[192.168.0.99:4000](local),objID:[59f63471:179a76f79c7:-7fff, -5372372549273377610]]]
server.rmi.ssl.disable=true
server.rmi.localport=4000
cd into JMeter folder
./jmeter.sh -Djava.rmi.server.hostname=<Master_IP> -n -t examples/CSVSample.jmx -l Run1.log -R<Worker_IP>
Sample Output in Master
Creating summariser <summary>
Created the tree successfully using examples/CSVSample.jmx
Configuring remote engine: 192.168.0.99
Using local port: 4000
Starting distributed test with remote engines: [192.168.0.99] @ Wed May 26 02:50:45 EDT 2021 (1622011845669)
Remote engines have been started:[192.168.0.99]
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary = 12 in 00:00:04 = 3.3/s Avg: 234 Min: 123 Max: 326 Err: 0 (0.00%)
Tidying up remote @ Wed May 26 02:50:51 EDT 2021 (1622011851137)
Sample Output in Worker
Starting the test on host 192.168.0.99 @ Wed May 26 02:50:47 EDT 2021 (1622011847465)
Finished the test on host 192.168.0.99 @ Wed May 26 02:50:51 EDT 2021 (1622011851480)
To check the status:
sudo firewall-cmd --state
To stop the firewall:
sudo systemctl stop firewalld