0
votes

Introduction:
I'm new to Jmeter, so I'm working with basic tasks but I have a mentor. We are working with distributed architecture, one master and one slave in my local network executing a real world working testplan.

Problem:
No response from slave:
We have installed and configured Jmeter 5.3 and java version "1.8.0_271" in both slave and master with windows 10 machines. Each machine can ping the other. When the testplan is executed in the master, from the JMeter GUI or CLI, the slave recognize the order and start the process, it also notify the end, but there is no response in the .jtl file another than the file header. We have tried with RMI enabled and disabled. The logs don't show errors.

System specs:
OS W10, Jmeter 5.3, Java 1.8, Jmeter plugin: jmeter-plugins-manager-1.4.jar (Plugins installed: Custom Thread Groups, 3 Basic Graphs, Console Status Logger), Windows Firewall is disabled in both machines, Jmeter properties (Master remote_hosts: Slave ip, Slave remote_hosts: 127.0.0.1)

JMeter GUI execution log (Master):

2020-12-11 11:33:45,446 INFO o.a.j.e.DistributedRunner: Configuring remote engine: 192.168.1.135
2020-12-11 11:33:45,446 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,624 INFO o.a.j.e.DistributedRunner: Starting distributed test with remote engines: [192.168.1.135] @ Fri Dec 11 11:33:45 CET 2020 (1607682825623)
2020-12-11 11:33:45,624 INFO o.a.j.e.ClientJMeterEngine: running clientengine run method
2020-12-11 11:33:45,629 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,629 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,630 INFO o.a.j.s.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000
2020-12-11 11:33:45,630 INFO o.a.j.s.DataStrippingSampleSender: Using DataStrippingSampleSender for this run
2020-12-11 11:33:45,630 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,630 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,630 INFO o.a.j.s.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000
2020-12-11 11:33:45,630 INFO o.a.j.s.DataStrippingSampleSender: Using DataStrippingSampleSender for this run
2020-12-11 11:33:45,630 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,630 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,630 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,630 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,641 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,641 INFO o.a.j.r.RmiUtils: Disabling SSL for RMI as server.rmi.ssl.disable is set to 'true'
2020-12-11 11:33:45,641 INFO o.a.j.s.BatchSampleSender: Using batching (client settings) for this run. Thresholds: num=100, time=60000
2020-12-11 11:33:45,641 INFO o.a.j.s.DataStrippingSampleSender: Using DataStrippingSampleSender for this run
2020-12-11 11:33:48,060 INFO o.a.j.e.ClientJMeterEngine: sent test to 192.168.1.135 basedir='.'
2020-12-11 11:33:48,060 INFO o.a.j.e.ClientJMeterEngine: Sending properties {}
2020-12-11 11:33:48,075 INFO o.a.j.e.ClientJMeterEngine: sent run command to 192.168.1.135
2020-12-11 11:33:48,075 INFO o.a.j.e.DistributedRunner: Remote engines have been started:[192.168.1.135]
2020-12-11 11:33:48,721 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, 192.168.1.135)
2020-12-11 11:35:49,030 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, 192.168.1.135)

JMeter CLI interface:

Creating summariser <summary>
Created the tree successfully using fileExample.jmx
Configuring remote engine: 192.168.1.135
Starting distributed test with remote engines: [192.168.1.135] @ Fri Dec 11 12:41:46 CET 2020 (1607686906826)
Remote engines have been started:[192.168.1.135]
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary =      0 in 00:00:00 = ******/s Avg:     0 Min: 9223372036854775807 Max: -9223372036854775808 Err:     0 (0.00%)
Tidying up remote @ Fri Dec 11 12:43:51 CET 2020 (1607687031041)
... end of run

Guides and articles read: Our own guide, which has worked in the past (installed in production), based in:

Question:
So the question is basically what can be wrong to make the server recognize the start calls, send the end signal, but don't write the .jtl file.

EDIT WITH SOLUTION
The .csv file in what the test are based must be in the slave inside the JMeter bin folder /bin/data/yourFile.csv

1

1 Answers

1
votes

How about slave log? Given the symptoms I can think of 3 possible reasons:

  • Your test relies on external data file, i.e. CSV file or .properties file, if this is the case - you need to copy all the dependent files to all the slave machines
  • Your test relies on a plugin which is not installed on the slave(s), either copy your JMeter installation from master to all the slaves or use JMeter Plugins Manager to install the missing plugins
  • Your RMI configuration is not correct, i.e. port which is used for communication from the slave to the master is random by default, you might want to set it explicitly and open it in firewall

In order to be able to tell more I need to see your jmeter-server.log file (it's being generated in "bin" folder of your JMeter installation given you launch the slave process via jmeter-server.bat file, if you use other approach you can set the desired log file name/location via -j command-line argument