【问题标题】:understanding vu metrics and statistics了解 vu 指标和统计数据
【发布时间】:2020-03-09 12:22:14
【问题描述】:

我正在运行负载测试,最终统计显示请求数

http_reqs..................: 77

当我用 2 次迭代执行 100 个 VU 的测试时。 77 requests 是应该由单个用户完成的数量,所以我认为它只显示单个 VU 统计信息。

然后我切换到 1000 个 VU 和 100 次迭代这个结果

http_reqs..................: 3803

对于 1000 个虚拟用户和 100 次迭代来说,这感觉有点小,并且使我认为它显示每个虚拟用户的请求数量的想法无效。

运行测试时,它会将记录添加到数据库中。所以我预计至少有 1000 条新记录。但每次运行只增加 100 个。

它还提供了以下信息

All iterations (100 in this test run) are shared between all VUs, so some of the 1000 VUs will not execute even a single iteration!

所以我认为有些东西不起作用?

【问题讨论】:

    标签: k6


    【解决方案1】:

    测试结束时的所有统计数据都是针对整个测试期间的。

    正如消息所说,iterations 在 VU 之间共享......或者以另一种方式,iterations 是整个测试将执行的迭代次数,而不是每个单独的 VU。 VU 只是执行迭代。

    因此,在您的情况下,当您有 77 个请求时,这些请求实际上是从 2 次迭代中生成的,而当您有 3803 个请求时,它们是从 100 次迭代中生成的。有多少 VU 用于制作这些,并不真正相关。

    我猜(因为 77 * 50 != 3803)你有一些逻辑会发出或不发出请求,所以每次迭代,所以它们会产生不同数量的请求?

    正如我之前提到的,迭代是针对整个测试的,所以如果您希望 100 个 VU 进行 2 次迭代,那么您实际上需要说您需要 200 次迭代。这也不能保证,因为 VU 会尽可能快地进行迭代。因此,在此示例中,您将获得 1 个完成 3 次迭代的 VU 和 1 个完成 1 次迭代的 VU,或其他一些变体。总的来说,这不是问题,但在一两个月内(希望)就会解决这个问题:D

    【讨论】:

    • 一些奇怪的行为。
    猜你喜欢
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    • 2017-03-23
    • 2018-01-23
    • 2010-11-08
    • 2020-09-09
    • 1970-01-01
    • 2013-05-14
    相关资源
    最近更新 更多