0
votes

I'd would like to know how is calculatad throughput in Jmeter. Test case:

 - Login
    - Loop (1000)
        - Beanshell ( generate GUID)
        - HTTP request 1
        - HTTP request 2
        - HTTP request 3
    - end loop
 - Logout
 - Constant Throughtput timer

Details,

Number of threads = 600
Duration of test = 4500s

Throughput = 300 transaction/second

Average Throughput from ramp up to rumpup period is 300 transactions per second. When i calculate thoughput for:

  • HTTP request 1
  • HTTP request 2
  • HTTP request 3

is around 170 transaciton per second.

When i calculate all transactions devide durration time is 300 transaction per second.

Please someone can explain:

  • why such difference in calultation (150 transaction per second around 3600 s) and
  • why is 'Beanshell ( generate GUID)' calculated in overall throughput or what did i miss here?

Thank you

1

1 Answers

0
votes

From The Load Reports guide

Throughput is measured in requests per second/minute/hour. The time unit is chosen so that the displayed rate is at least 1.0. When the throughput is saved to a CSV file, it is expressed in requests/second, i.e. 30.0 requests/minute is saved as 0.5.

From the 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).

Your Beanshell Sampler is being counted as it is a normal "sampler". If you want to discard it totally from results the options are in:

  1. Convert Beanshell Sampler into a Beanshell Preprocessor and put it as a child of the HTTP Request 1.
  2. If your Beanshell Sampler does nothing but create a GUID it can easily be replaced with __UUID() function