0
votes

I try to start remote testing using my computer as Client/Master and EC2 instance as Slave I achieve all these Points:

  1. Disable Firewall on both Master and Slave.
  2. I have the same version of java and JMeter on both Master and Slave.

I have set all communication to be over port 4000.

My configuration for Master:

remote_hosts=10.xx.xx.xxx

server_port=4000

server.rmi.port=4000

server.rmi.localport=4000

server.rmi.ssl.disable=true

My Configuration for Slave [EC2 instance]
server_port=4000

server.rmi.port=4000

server.rmi.localport=4000

server.rmi.ssl.disable=true

Command to start JMeter server on slave [ EC2 instance]:

./jmeter-server -Gjava.rmi.server.hostname:10.xx.xx.xxx

Command to start JMeter server on Master [ My Computer]:

./jmeter-server -Gjava.rmi.server.hostname:192.xx.xx.xxx

After Running the test from the master the test started on the slave and finished.

My issue that the Client/Master didn't get any Result or Summary, it stuck and freeze on this line:

Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445.

1

1 Answers

0
votes

Your 10.xx.xx.xxx and 192.xx.xx.xxx are class A and class C local networks, it means that they are not accessible from anywhere else, only from their respective local networks.

So you won't be able to reach the EC2 instance internal IP from your computer and vice versa.

In order to be able to connect to the EC2 instance you need to:

  1. Use external (public) IP address or DNS hostname
  2. Open the port 4000 in the AWS Security Groups

In order to get results back to your computer from the EC2 machine you need to have static external IP address, you need to reach out to your ISP or network administrator to get this configured and assigned

An example of master/slave configuration with custom ports can be found in the JMeter Distributed Testing with Docker article.

More information: Remote hosts and RMI configuration

If you have only one slave machine it doesn't make sense to invest into master/slave configuration at all, just run JMeter in command-line non-GUI mode in the EC2 instance and analyze the results locally.

If you plan to use more than 1 slave - it makes sense to transfer the master to the EC2 as well, this way you will be able to use internal IP addresses