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
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
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.
ReplyDeleteThanks for your feedback, I haven't tries using Jmeter using cloud, Will surely give it a try..
ReplyDelete