【问题标题】:Why is Average response time is reducing when we are increasing the number of users?当我们增加用户数量时,为什么平均响应时间会减少?
【发布时间】:2018-11-23 03:11:00
【问题描述】:

我正在使用 J-Meter 对不同数量的用户进行性能测试。对于 1 个用户,平均响应时间为 1.4 秒,但随着用户数量的增加,平均响应时间会增加是合乎逻辑的,但反而会减少。谁能解释为什么?测试场景是我与聊天机器人进行了几次交互(2-3 次交互)。

请帮助我理解下面这个令人困惑的结果:

1 user   - 30 seconds  - 1.3 seconds  (average response time)
5 users  - 60 seconds  - 0.92 seconds (average response time) 
10 users - 60 seconds  - 0.93 seconds (average response time) 
20 users - 120 seconds - 0.92 seconds (average response time) 

【问题讨论】:

    标签: jmeter performance-testing response-time


    【解决方案1】:

    第一个用户的第一次迭代通常会在客户端产生一些开销(最常见的是 DNS 解析),并且可能在服务器端产生一些开销(服务器“预热”)。在以下迭代或用户中不需要该开销。

    因此,您所看到的平均时间减少实际上是减少了较慢的“第一次用户第一次迭代”执行时间对整体结果的影响。这就是为什么提供足够的样本很重要,这样这种局部尖峰就不再那么重要了。我的经验法则是在查看任何平均值之前至少进行 10000 次迭代,尽管舒适程度取决于每个测试人员来设置。

    此外,当用户数量增加时,您不应期望平均值会变差,除非您达到 饱和点:它应该是稳定的。因此,如果您希望您的应用能够支持不超过 20 个用户,那么您的结果会令人惊讶,但如果您希望应用支持 20000 个用户,那么在 20 个用户时您应该不会出现任何平均降级。

    要测试是否会发生这种情况,请尝试运行 1 个用户,但运行时间要长得多,这样总迭代次数类似于运行 20 个用户。大致您需要将 1 个用户的测试持续时间增加到 20 分钟以达到相似的迭代次数(即相同的测试长度将是 120 秒,但也有 20 个用户的 x20 次迭代,为您提供 20 分钟的粗略数字 1用户)

    【讨论】:

      猜你喜欢
      • 2018-05-10
      • 1970-01-01
      • 2013-04-14
      • 2017-01-23
      • 2017-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多