1
votes

I am running jmeter in distributed mode for testing with 300 users but not able to receive any response from slave on master listener with 1 user also.

Key point:

  1. Both master and slave are on same subnet
  2. server.bat is running on slave
  3. properties file for master is updated with remote servers
  4. port number is updated for both as 1099
3

3 Answers

4
votes

Take a look into remote engine console output, you should be seeing something like:

Starting the test on host 127.0.0.1 @ Tue Feb 14 18:29:51 CET 2017 (1487093391662)

SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in [jar:file:/Users/johndoe/Applications/jmeter/lib/ApacheJMeter_slf4j_logkit.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in [jar:file:/Users/glinius/Applications/jmeter/lib/tika-app-1.14.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

SLF4J: Actual binding is of type [org.apache.jmeter.logging.LogkitLoggerFactory]

Finished the test on host 127.0.0.1 @ Tue Feb 14 18:29:52 CET 2017 (1487093392404)

If you don't see highlighted entries - something is wrong with your JMeter configuration, look into jmeter-server.log file, it normally contains the cause of any problems. Also double check the following material in order to properly set up the distributed testing:


If you see the above lines but don't see the responses i.e. in the View Results Tree listener - it's a totally different story. There are several modes of sending results from the remote engines to JMeter master host, by default JMeter operates in StrippedBatch mode which removes data from successful sample results therefore you don't see anything.

If you need response data, you can amend this "mode" setting by adding the next line to user.properties file:

mode=Standard

or use alternative way - pass the property via -J command-line argument like:

jmeter -Jmode=Standard -s ....

References:

0
votes

It is better If you use Latest version(jmeter 3.3). Here if you run jmeter-server bat file the distributed test is not possible. so running server file with command prompt solves your problem.

Run in Master as below command after going to jmeter bin folder in command prompt:

  jmeter-server -Djava.rmi.server.hostname=IP     (IP of your system)

take a new command prompt and write

  jmeter -Djava.rmi.server.hostname=IP (IP of your system which entered above) your jmeter will be populated.

Now goto your slave machine and open command prompt and run command as below

  jmeter -Djava.rmi.select.hostname=IP  (IP of slave system)

come to your master, run your test as distributed and now you will get results as you need.

0
votes

I have faced a similar kind of problem even if I configured the ports correctly. The setup has been deployed using AWS Fargate and there the problem was related to Security Groups (I have forgotten to allow ingress PORTs)

If you are configuring a distributed JMeter setup on AWS make sure to assign appropriate Security Groups to the master allowing ingress traffic from the corresponding PORTs.

It's good to check whether the master can receive the traffic from the defined PORTs. You can check for firewall settings if you are not on a cloud service like AWS.