Search code examples
testingjmeterloadperformance-testing

How much maximum thread capacity of jmeter command line mode?


I have to test load testing for 32000 users, duration 15 minutes. And I have run it on command line mode. Threads--300, ramp up--100, loop 1. But after showing some data, it is freeze. So I can't get the full report/html. Even i can't run for 50 users. How can I get rid of this. Please let me know.


Solution

  • From 0 to 2147483647 threads depending on various factors including but not limited to:

    1. Hardware specifications of the machine where you run JMeter
    2. Operating system limitations (if any) of the machine where you run JMeter
    3. JMeter Configuration
    4. The nature of your test (protocol(s) in use, the size of request/response, presence of pre/post processors, assertions and listeners)
    5. Application response time
    6. Phase of the moon
    7. etc.

    There is no answer like "on my macbook I can have about 3000 threads" as it varies from test to test, for GET requests returning small amount of data the number will be more, for POST requests uploading huge files and getting huge responses the number will be less.

    The approach is the following:

    1. Make sure to follow JMeter Best Practices

    2. Set up monitoring of the machine where you run JMeter (CPU, RAM, Swap usage, etc.), if you don't have a better idea you can go for JMeter PerfMon Plugin

    3. Start your test with 1 user and gradually increase the load at the same time looking into resources consumption

    4. When any of monitored resources consumption starts exceeding reasonable threshold, i.e. 80% of maximum available capacity stop your test and see how many users were online at this stage. This is how many users you can simulate from particular this machine for particular this test.

    5. Another machine or test - repeat from the beginning.

    Most probably for 32000 users you will have to go for distributed testing

    If your test "hangs" even for smaller amount of users (300 could be simulated even with default JMeter settings and maybe even in GUI mode):