Search code examples
jmeterloadperformance-testingload-testingthreadgroup

[JMeter]How to test the maximum number of threads that a PC can generate


I am trying to perform load testing on a single API endpoint.

Using JMeter, I need to benchmark how many threads I can generate using my local machine and existing internet connection before some crash, system instability or bottleneck occurs.

Does anyone have an idea of how I could benchmark and report that?

I am using apache-jmeter-5.0 on Windows 7.

Any help or advice would be greatly appreciated.


Solution

  • It depends on:

    So you can measure it as follows:

    1. Make sure to monitor operating system baseline health metrics (CPU, RAM, Network, Disk, Swap) on JMeter side. The majority of operating systems have built-in tools for this, however if you don't have administrator account - collecting metrics might be tricky, in this case you could use JMeter PerfMon Plugin
    2. It would be also good to monitor JVM metrics like Heap usage and GC frequency/time using i.e. JVisualVM
    3. Start your test with 1 user and gradually increase the load until the usage of CPU, RAM, etc. starts exceeding i.e. 90% of total available capacity. When it happens - see how many virtual users were online using i.e. Active Threads Over Time plugin - this is how many users you can mimic for particular this test on particular this machine. If anything changes - you will need to re-do the assessment.