【问题标题】:Jmeter calculating Throughput (Bean sampler)Jmeter计算吞吐量(Bean采样器)
【发布时间】:2015-02-05 07:24:18
【问题描述】:

我想知道 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 笔交易。 当我计算吞吐量时:

  • HTTP 请求 1
  • HTTP 请求 2
  • HTTP 请求 3

每秒大约 170 个事务。

当我计算除持续时间之外的所有事务时,每秒处理 300 个事务。

请有人解释一下:

  • 为什么在计算上有这样的差异(大约 3600 秒每秒 150 笔交易)和
  • 为什么在总吞吐量中计算“Beanshell(生成 GUID)”或者我在这里错过了什么?

谢谢

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    来自The Load Reports指南

    吞吐量以每秒/分钟/小时的请求数衡量。选择时间单位以使显示的速率至少为 1.0。将吞吐量保存为 CSV 文件时,以请求/秒表示,即 30.0 请求/分钟保存为 0.5。

    来自JMeter Glossary:

    吞吐量以请求/单位时间计算。时间从第一个样本开始到最后一个样本结束计算。这包括样本之间的任何间隔,因为它应该代表服务器上的负载。 公式为:吞吐量 =(请求数)/(总时间)。

    您的 Beanshell 采样器被计为正常的“采样器”。如果您想完全从结果中丢弃它,选项位于:

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

    【讨论】:

    • Dmitri,如果我使用 Beanshell 预处理器代码重复生成用户名,我现在面临的问题是在我的登录中。但我希望在更多预处理器上执行一个函数(仅调用)。在 JTL 文件中,我有很多测试用例(Powershell 逻辑驱动特定的测试用例)。避免重复代码的最佳方法是什么?
    • 使用带有参数的Beanshell脚本文件,并复制到jmeter正在执行的所有服务器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多