5

I want to use multiple JMeter instances from a single machine. Is it possible?

I know about distributed testing but I haven't required machines to do my load test. Actually, I need to run four JMeter instances from a single machine. Is it possible to control those four instances from a single instance?

If so, then please help me.

My machines RAM: 32GB

Details(How to configure, Limitations) description would be great for me!!!

2
  • Which are you asking about: (1) running 4 JMeter instances on the same machine but coordinating them from a single place, or (2) running 4 JMeter instances each on a separate machine but coordinating them from one place, or (3) something else?
    – user246
    Commented Apr 15, 2016 at 20:35
  • @user246, I want to run 4 JMeter instances on the same machine and controlling them from a single instance (Can be from same machine or others).
    – Jahan
    Commented Apr 16, 2016 at 4:56

4 Answers 4

4

I don't know why you need to run multiple instances of Jmeter from single machine. But Yes, you can run multiple instances of JMeter from single machine without any major issue, the only limitation will be with the memory used by JMeter as if you ran too many instances or few instances using too much memory then you may ran out of memory and JMeter execution fails.

But since you have 32GB machine, you can configure the Heap size of your JMeter from JMeter.bat file and allocate a required amount of Memory to your JMeter. Refer this link for JMeter Heap size and how to change it. Once this setting is done, you can run multiple instance of JMeter from same machine by opening running JMeter.bat files (from GUI or Command line).

If you need to have different instances with different memory size, then create multiple copies of the JMeter directory and set heapsize individually.

Please note that if you want to use those multiple instances as part of Distributed load setup then its not a good practice and it will not work as Distributed environment. Distributed environment is used when single machine is not capable of generating and handling heavy loads. If single machine is able to handle heavy load with single or multiple instances of JMeter then it is one and same thing.

2
  • Thanks for your reply. Actually, I want to generate more users (at least 50,000) to do my test. I know about Distributed testing but I have only 6 machines to perform the tests. I also know about "Load Testing using Cloud"(Which I don't want to perform this now!!!). So how many users can I generate using these machines?? My Test Script includes: #Only Simple login Request. #Used a Constant throughput Timer. #No assertions or Listeners is used. # Non-GUI mode is used.
    – Jahan
    Commented Apr 19, 2016 at 4:34
  • See, there is no such hard code guideline for this question (How many users per machine?). As this depends upon number of factors. But as I too long ago had this query, so I can mention few links worth reading to get a limited answer to your question. sqa.stackexchange.com/questions/13839/… and telerik.com/blogs/how-many-virtual-users-per-machine. Note: These links talk about load generated per machine not per instance of load tool started on a single machine.
    – Dhiman
    Commented Apr 19, 2016 at 13:17
0

JMeter provides a way to perform distributed testing. This comes in the form of a master-slave setup. In this mode, there is a machine known as a master, which controls a number of client machines (JMeter instances) known as slaves. This approach has some benefits, including managing multiple JMeter instances remotely from the master node, automatically collecting test results from all slave nodes and aggregating them into a single report, and replicating test plans from the master node to slave nodes without the need to copy them to each server. That said, it also has some drawbacks, with the major one being the master quickly becoming a bottleneck as a result of collecting information from slaves in real time.

please refer this link for set up : https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.pdf

3
  • Thanks for your reply. I know about Distributed testing. But I haven't enough resources (machines) to do the test. So, I need to run 4 or more (as many I can) JMeter instances from a single machine and also want to control these instances from a single instance (can be from the same machine or others).
    – Jahan
    Commented Apr 16, 2016 at 5:09
  • Running multiple instance or single instance of jmeter from one machine is one and the same thing, because all the jmeter instances would be using resources of one server. This doesn't go with concept of distributed testing.
    – neha bedi
    Commented Apr 16, 2016 at 12:49
  • did you try running ur script with 50k user from 1 jmeter instance? i don't think this would work for this much load from one single machine even if u try using multiple instances ( which is just starting jmeter multiple time , the way u start one instant )
    – neha bedi
    Commented Apr 19, 2016 at 5:41
0

Short answer to your question is NO.

I'm not sure if you can run multiple instances of JMeter on a single machine. Even if you can run multiple instances of JMeter on a single machine I can most definitely say, you cannot setup distributed testing testing environment with Master-Slave architecture for them. You see to have such a set up configured you have to get the IP address of Slave Systems and configure them in the Master System. When you run the tests the Master commands the Salve to execute the script and it does this based on the IP address of the Slave System.

Now let's consider what you say;

You are running 4 instances of JMeter on single machine.

You plan to make 1 of those Master and the remaining 3 Slaves.

At the end, since the system is 1, it has 1 IP address.

Now, how do you set up 4 IP addresses 1 for the Master and 3 for the Slaves for a single system?

You may try an alternative. You can set up multiple Virtual Machines on your System. Assign different IP address to each Virtual Machine and then configure them as Slave systems and your actual system as the Master.

0

I was having same requirement:

I achieved this by following way:

  1. Copy multiple instances of Jmeter.
  2. Edit jmeter.bat and set heap to 2GB (you can set whatever you required.)
  3. Edit Jmeter.properties

    server_port = 1001

    SET SERVER_PORT = 1001(if you are using windows)

    server.rmi.ssl.disable=true

    remote_hosts=localhost:1001,localhost:1002 ...(number of remote host you want)

  4. Start Jmeter-server.bat

You need to do this in all the instances (Jmeter folders).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.