Search code examples
network-programmingjmetervirtual-machineperformance-testing

jMeter Distributed Testing: Master won't shut down


I have a simple 4 server setup running jMeter (3 slaves, 1 master):

Slave 1: 10.135.62.18 running ./jmeter-server -Djava.rmi.server.hostname=10.135.62.18

Slave 2: 10.135.62.22 running ./jmeter-server -Djava.rmi.server.hostname=10.135.62.22

Slave 3: 10.135.62.20 running ./jmeter-server -Djava.rmi.server.hostname=10.135.62.20

Master: 10.135.62.11 with remote_hosts=10.135.62.18,10.135.62.22,10.135.62.20

I start the test with ./jmeter -n -t /root/jmeter/simple.jmx -l /root/jmeter/result.jtl -r

With the following output:

Writing log file to: /root/apache-jmeter-3.0/bin/jmeter.log
Creating summariser <summary>
Created the tree successfully using /root/jmeter/simple.jmx
Configuring remote engine: 10.135.62.18
Configuring remote engine: 10.135.62.22
Configuring remote engine: 10.135.62.20
Starting remote engines
Starting the test @ Mon Aug 29 11:22:38 UTC 2016 (1472469758410)
Remote engines have been started
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445

The Slaves print:

Starting the test on host 10.135.62.22 @ Mon Aug 29 11:22:39 UTC 2016 (1472469759257)
Finished the test on host 10.135.62.22 @ Mon Aug 29 11:22:54 UTC 2016 (1472469774871)

Starting the test on host 10.135.62.18 @ Mon Aug 29 11:22:39 UTC 2016 (1472469759519)
Finished the test on host 10.135.62.18 @ Mon Aug 29 11:22:57 UTC 2016 (1472469777173)

Starting the test on host 10.135.62.20 @ Mon Aug 29 11:22:39 UTC 2016 (1472469759775)
Finished the test on host 10.135.62.20 @ Mon Aug 29 11:22:56 UTC 2016 (1472469776670)

Unfortunately the master waits for messages on port 4445 indefinitely event though all slaves finished the test.

Is there anything I have missed?


Solution

  • I figured it out myself just before submitting the question. I guess the solution could be useful nonetheless:

    Once I start the test (on the main server) with this:

    ./jmeter -n -t /root/jmeter/simple.jmx -l /root/jmeter/result.jtl -r -Djava.rmi.server.hostname=10.135.62.11 -Dclient.rmi.localport=4001
    

    It works just fine. I wonder why the documentation doesn't mention something like this.