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. Learn more about JMeter’s Distributed Testing
Figure shows the client-server model of Distributes testing,
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
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,
In the master systems, just visit /bin directory to edit jmeter.properties file, adds IP slave machine as shown below:
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.
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.
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.
⇓ Subscribe Us ⇓
If you are not regular reader of this website then highly recommends you to Sign up for our free email newsletter!! Sign up just providing your email address below:
Happy Testing!!!
- Elements of JMeter
- Assertions in JMeter – JMeter Tutorials Series Day 7
- JMeter Installation Guide
- Tutorial 1: Introduction to Apache JMeter
- Recording using HTTP Proxy Server in JMeter – Performance Testing Tools
- How to do Performance Testing using JMeter? – JMeter Tutorials Series Day 5
- What Is Endurance Testing In Software Testing?
- Uses of Processor in JMeter – JMeter Tutorials Series Day 9
- Mobile Testing Tutorial Series – Tutorial 1 Mobile Application Testing Strategy
- Overview Of Performance Testing With VSTS
4 thoughts on “JMeter’s Distributed Testing – JMeter Tutorials Series Day 10”
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!
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.
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
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