Thursday, 7 August 2014

Distributed Testing in Jmeter

Purpose of Distributed Testing

In instances of very high load input, if JMeter client machine is unable, performance-wise, to simulate enough users to stress your server, an option exists to control multiple, remote JMeter engines from a single JMeter GUI client.

By running JMeter remotely, you can replicate a test across many low-end computers and thus simulate a larger load on the server. One instance of the JMeter GUI client can control any number of remote JMeter instances, and collect all the data from them.


 Distributed Test






Terminology for Distributed Testing

Before we dive into the step-by-step instructions, it's a good idea to define the terms and make sure the definition is clear.
Master – the system running Jmeter GUI, which controls the test
Slave   – the system running jmeter-server, which takes commands from the GUI and send requests    to the target system(s)
Target – the webserver we plan to stress test






Step 1 : Configure the master machine

a) On master system acting as the console, open windows explorer and go to jmeter/bin directory
b) Open jmeter.properties in a text editor
c) Edit the line “remote_hosts=127.0.0.1”
d) Add the IP address. For example, if I have jmeter server running on 192.168.0.10, 11, 12, 13, and   14, the entry would like this:  remote_hosts=192.168.0.10, 192.168.0.11, 192.168.0.12, 192.168.0.13, 192.168.0.140

Step 2 : Configure the slave machine

a) Open jmeter-server.bat in a text editor
b) Go to line 44 and find “:setCP”
c) Edit “START rmiregistry” to the full path. Example: “START         C:\<JAVA_HOME>\jre\bin\rmiregistry”

On the slave systems, go to jmeter/bin directory and execute jmeter-server.bat (jmeter-server on Unix). On windows, you should see a dos window appear with “jre\[version]\bin\rmiregistry.exe”.

n the system. Note: [version] would be the jre version installed on the system.

d) On every Slave Machine, run “jmeter-server.bat”

Step 3 : Open the test on master machine and run it

a) Click Run at the top
b) Select Remote start
c) Select the IP address


 







Step 4: Analyze the results









2 comments:

  1. Thanks for sharing. It worth mentioning that it is also possible to use JMeter Load Testing Cloud solutions to get things done without having to worry about machines availability and configuration.

    ReplyDelete
  2. Thanks for your feedback, I haven't tries using Jmeter using cloud, Will surely give it a try..

    ReplyDelete