【问题标题】:Why JMeter Ultimate Thread Groups create incorrect number of users?为什么 JMeter Ultimate Thread Groups 创建的用户数量不正确?
【发布时间】:2020-03-20 05:49:44
【问题描述】:

当我使用原始 JMeter 线程组并设置 10 个线程(用户)时,它会触发 10 个外部 HTTP 调用。

当我将其更改为 Ultimate Thread Groups (UTG) 并设置以下属性时...

  • 启动线程数 = 10
  • 初始延迟 = 0
  • 启动时间 = 60
  • 保持负载 = 30
  • 关机时间 = 10

...它会触发数千个外部 HTTP 调用。甚至步进线程组 (STG) 和并发线程组 (CTG) 的行为也与 UTG 相同。

为什么在使用非原始 JMeter 线程组时会发生这种情况?我正在寻找使用 UTG、STG 或 CTG 创建 10 个用户的方法,每个用户创建 1 个外部 HTTP 调用(意味着整个测试计划总共 10 个),但我真的不明白为什么会发生这种情况。

使用原始线程组时的屏幕截图

使用原始 Ultimate 线程组时的屏幕截图

【问题讨论】:

    标签: jmeter jmeter-plugins jmeter-5.0


    【解决方案1】:

    您的方案导致:

    1. 在测试的第 5 秒,第一个虚拟用户开始
    2. 在接下来的 55 秒内,剩余的 9 个虚拟用户启动
    3. 10 个用户活跃了 30 秒
    4. 然后每 1 秒每 1 个虚拟用户被关闭

    您会看到超过 10 个请求,因为一旦虚拟用户被启动,它就会开始尽可能快地执行 Samplers,而实际执行的采样器数量主要取决于您的应用程序响应时间。查看What is the Relationship Between Users and Hits Per Second? 以获得更全面的解释。


    如果您的目标是在 1 分 40 秒内执行 10 个请求,您需要使用 Constant Throughput TimerPrecise Throughput TimerThroughput Shaping Timer 来限制 JMeter 每 10 秒发送 1 个请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      相关资源
      最近更新 更多