0
votes

I have run load testing for website but when I have increased no. of users , I can see throughput time seems increasing instead of decrease.

Test Case 1 :

No. of Threads : 15

Ramp up time : 450 [As I want to put delay of 30 seconds between 2 users]

Loop count : Forever

Scheduler : 1800 Seconds [As I want to run test for 30 minutes]

In Http requests I have added 10 pages and each request has constant timer with 30000 miliseconds as I need to put delay of 30 seconds between 2 requests.

Now When I see result of Aggregate Report , it shows me Throughput 3/min for each request.

Test Case 2 :

No. of Threads : 30

Ramp up time : 900 [As I want to put delay of 30 seconds between 2 users]

Loop count : Forever

Scheduler : 1800 Seconds [As I want to run test for 30 minutes]

In Http requests I have added 10 requests/pages and each request has constant timer with 30000 miliseconds as I need to put delay of 30 seconds between 2 requests.

Now When I see result of Aggregate Report , it shows me Throughput 6/min for each request.

I am confuse that how it is possible? If my users are increased from 15 to 30 then it should have more load on server and throughtput should decrease like 1/min or 2/min.

Please let me know what I am doing wrong here.

2

2 Answers

3
votes

Throughput is no. of completions per unit time. (A completion can be a http request/db request in short anything that needs to be executed and needs >0 execution time.)

Ex. req per sec or req per min etc.

By definition of throughput in JMeter, it is calculated as total no. of requests/total time.

  1. In your first case, no. of requests generated in 1800 seconds with 3 second delay in every request by 15 users are x. Thus throughput is x/30 i.e. 3 it means ~90 requests were generated (verify this from aggregate report or other reporter.)

  2. In your second case, everything else is same but no. of users are doubled which creates ~double no. of requests in given time which is (1800 seconds)

Thus according to formula, no. of requests generated/total time.

Throughput in 2nd case = 2x/30 = 2*throughput in 1st case

Which is 6/min. (Correctly shown by JMeter.)

Key here is to check no. of requests generated in both cases.

I hope this clears your confusion. Let me know if you need further clarification. BTW "when I have increased no. of users , I can see throughput time seems increasing instead of decrease." is not always true.

1
votes

Throughput increased by factor of 2.

  • Test Case 1: - 3 requests per minute - 1 request each 20 seconds
  • Test Case 2: - 6 requests per minute - 1 request each 10 seconds

As per 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).

You may also be interested in the following plugins:

or alternatively Loadosophia.org service which can convert your JMeter .jtl results files into easy-understandable professional load report