Search code examples
jmeterperformance-testingjmeter-pluginsjmeter-5.0

How to know if threads on Jmeter is exhausted or not


Currently I'm running my script 100 users generate 6000 request per minute and after a while the request starts to drop, I'm expecting 6000 request should be generated for a almost entire execution but it's not happening. I tried to increase the heapsize and use latest Jmeter version unfortunately the issue still persists.

Jmeter Thread Configuration

enter image description here

enter image description here

jmeter file


Solution

  • With 100 users you can only get 6000 requests per minute when response time is 1 second sharp. If response time will be higher - you will get proportionally lower number of requests. See How do I Correlate the Number of (Concurrent) Users with Hits Per Second article for more information.

    There are 2 possible options:

    1. The system under test is running at top speed but there is extra capacity, i.e. if you increase the number of threads to 200 you will get 2x more sample results in the end of the test

    2. The system under test cannot either respond faster or handle more users. It means that you identified the bottleneck and you need now to figure out what is the root cause which could be in:

      • lack of resources: check if the application has enough headroom to operate in terms of CPU, RAM, etc. Ensure that it's not the case using i.e. JMeter PerfMon Plugin
      • application or middleware configuration, it should be properly set up for high loads. Check performance and tuning tips for the software you're using
      • inefficient algorithms: use a profiler tool to inspect what's going on under the hood
      • inefficient SQL queries, explain the slowest query plan and see how it could be improved
      • etc.