Jmeter计算吞吐量(Bean采样器)

Jmeter calculating Throughput (Bean sampler)

我想知道 Jmeter 中的吞吐量是如何计算的。 测试用例:

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

详情,

Number of threads = 600
Duration of test = 4500s

Throughput = 300 transaction/second

从加速到恢复期的平均吞吐量是每秒 300 个事务。 当我计算吞吐量时:

每秒大约 170 个事务。

当我计算所有事务时,除持续时间是每秒 300 个事务。

请有人解释一下:

谢谢

来自The Load Reports指南

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.

来自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).

您的 Beanshell Sampler 被计算为正常 "sampler"。如果你想从结果中完全丢弃它,选项在:

  1. 将 Beanshell Sampler 转换为 Beanshell Preprocessor 并将其作为 HTTP Request 1 的子项。
  2. 如果你的 Beanshell Sampler 除了创建一个 GUID 什么都不做,它可以很容易地被 __UUID() 函数替换