Search code examples
performancejmeterjmeter-pluginsstress-testingthroughput

I cannot increase the throughput to the number I want


I am trying to stress test my server. To do so I am using Jmeter and here is my set up:

I use my Setup

Thread: 1000
schedule for 3 mins

So as you see I keep going with 1000 thread for a period of 3 mins. But when I look at the throughput I only get around 230 per second

results

So what should I do to increase the through put to for example 1000000 per second? How come increasing the thread which I assume means more load does not increase throughput?


Solution

  • According to JMeter Glossary

    Throughput is calculated as requests/unit of time. The time is calculated from the start of the first sample to the end of the last sample. This includes any intervals between samples, as it is supposed to represent the load on the server.

    The formula is: Throughput = (number of requests) / (total time).

    Throughput explicitly relies on the application response time. Looking into your results, the average response time is 3.5 seconds therefore you will not get more than 1000 / 3.5 = 285 requests per second

    Theoretically you could use Throughput Shaping Timer and Concurrency Thread Group combination, this way JMeter will kick off extra threads if the current amount is not enough to reach/maintain the desired throughput, however looking into 8.5% error rate and maximum response time for your application > 2 minutes my expectation is that you will not be able to get more throughput because most probably your application is overloaded and cannot respond faster.