用于QPS测试的Jmeter似乎不准确?

时间:2018-05-21 07:59:45

标签: java jmeter

enter image description here

来自'线程属性'配置,我认为QPS是750/50 = 15。但是当我进行测试时,经过的时间是'00:01:01'。这是否意味着真正的QPS是750/61 = 12?

2 个答案:

答案 0 :(得分:2)

JMeter的行为如下:

  1. 鉴于您的设置,JMeter以1个虚拟用户开始,每秒增加15个用户
  2. 每个虚拟用户开始执行samplers颠倒(或根据Logic Controllers尽快
  3. 当没有更多的采样器要执行或循环迭代时,线程正在关闭
  4. 当没有剩余的线程时,测试结束。
  5. QPS取决于很多因素,主要有:

    • 测试计划中的采样器数量
    • 示例结果响应时间

    所以QPS不是你可以有效或精确控制的东西,选项包括:

    • 如果QPS太低

      • 添加更多"循环"到你的Thread Group所以线程可以重新执行采样器,维护750个用户的并发性,同时查看你的测试计划和执行时间,你只有大约13个同时用户

      • 添加更多虚拟用户

    • 如果QPS过高,您可以使用Constant Throughput Timer

    • 将JMeter线程减慢到所需的值

答案 1 :(得分:1)

50秒是加速期,这意味着螺纹数750将在50秒后执行,经过的时间受到加速期的影响,但它只影响测试的开始时间。

  • 通知测试甚至可以永久执行"通过检查永久循环计数

在您的情况下,循环计数为1,但如果测试中有一长串慢速HTTP请求或复杂循环控制器或其他测试片段,则测试可持续数小时。