Categories

Netsparker Web Application Security Scanner

JMeter’s Distributed Testing - JMeter Tutorials Series Day 10

Distributed testing is a testing process, supports multiple systems to implement stress testing. Distributed testing is helpful to test those web sites and web server applications who work with multiple clients simultaneously.

Figure shows the client-server model of Distributes testing,

Distributed Testing in JMeter

Where,

  • Master: A JMeter GUI which controls each slave.
  • Slave: A JMeter-server which gets command from the master and sends the request to server under test.
  • Target: The web server gets request from slaves, under test

Copy all JMeter folders to all slave machines. Installation of JMeter makes environment variables for JMETER_HOME and JMETER_BIN in all the slave machines (even on Master machine).

To perform stress testing on multiple systems, there are certain things to check,

  • System should have latest JDK on the host (slave) machine and latest JMeter on the host (slave) machine.
  • Multiple systems firewall should be turned off
  • Environment variables should define for JMeter(JMETER_HOME, JMETER_BIN)
  • All clients should be in same subnet
  • If web server belongs to “192.x.x.x” or “10.x.x.x” IP addresses, the web server will be in the same subnet. If the web server doesn’t belongs to“192.x.x.x” or “10.x.x.x” IP addresses then there will be a problem
  • Make sure, Jmeter can access the web server without any restriction
  • All systems should have same version of Jmeter. Different versions may not work properly

Distributed Testing in JMeter

 

Step-by-Step Testing Process

 

·        System configuration

·        Run the test

·        Troubleshooting

 

First Step: System configuration

Go to the slave systems -> jmeter/bin directory to execute “jmeter-server.bat”file.

On windows, a slave machine which belongs to 192.168.0.10 IP address, looks like the given below figure,

JMeter's Distributed Testing

In the master systems, just visit /bin directory to edit jmeter.properties file, adds IP slave machine as shown below:

Distributed Testing in JMeter

 

Second Step: Run the test

Open the test plan to run JMeter GUI, using the master machine.

Click on Run on the menu bar then choose Remote start -> select the IP address of slave machine.

Distributed Testing in JMeter

 

Third Step: Troubleshooting

If you are unable to run the test and it returns error message, say administrator of the slave machine to run the jmeter-server.bat file, shown in the figure below.

Distributed Testing in JMeter

 

Tips to Follow:

In some cases, Symantec Anti-Virus and Firewall blocks RMI traffic.

To stop Symantec firewall from windows services, go to the control panel – > administrative tools, double click services, find-out the Symantec antivirus, right click it to stop.

To stop window firewall, open network connections, choose the network connection, right click and select properties, select advanced tab and unchecked internet connection firewall.

Listener: Use “Aggregated Report” listener to see the aggregated report from your all host machine.

 

Limitations:

While proceeding, there are some limitations of distributed testing,

  • Server and all clients should belong to the same subnet.
  • Distributed testing needs target server with large processing power. The target Server should be capable to take overloaded, in case of getting too many requests by distributed JMeter tests.
  • A single JMeter should be capable to handle a limited number of threads (100- 300 threads).
  • The distributed JMeter testing is bit complex and difficult for beginner to understand and build.

4 comments to JMeter’s Distributed Testing – JMeter Tutorials Series Day 10

  • Carlos

    Hello!

    I’ve been following the whole training and I think is highly useful and clear.

    However, I have a question. You wrote “Server and all clients should belong to the same subnet”. What is the point of distributed testing if the target will receive all the traffic from the same IP? You could send all the requests from the same machine.

    See you around!

  • Arun

    Hi All,

    I just doing Master-Slave configuration for distributed system in JMeter for Load Testing, and getting following error.

    connetion refues to host : 192.168.5.58; nested exception is: java.net.connectionException: Connection timed out: connect

    Slave IP- 192.168.5.58
    I have done changes in master jmeter properies file only and added the slave ip in place of remote host.

    Thanks in advance for your help:)

    P.S. i am new in load testing so please forgive me about way of writing the issues.

  • Arun

    Hi All,

    I want to get the Avg Response Time & % CPU & %Memory for 8000 concurrent virtual users on my website, Then which would be best for this scenarios.

    1. Thread Group
    2. jp@gc Ultimate Thread
    3. jp@gc Stepping Thread

    Please suggest me as i am new in performance testing

    Regards,
    Arun

  • srilatha

    Hello

    However, I have a question. You wrote “Server and all clients should belong to the same subnet”. What is the point of distributed testing.

    I just doing Master-Slave configuration for distributed system in JMeter for Load Testing, and getting following error.

    connetion refues to host : 192.168.5.58; nested exception is: java.net.connectionException: Connection timed out: connect
    Regards,
    srilatha

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>