分析来自 k6 云的测试结果应该考虑什么?

问题描述

我是 k6 的新手。我刚刚为单个场景创建了一个脚本,然后在我的计算机中通过 Visual Studio Code 在本地运行它,并在执行时在终端中使用 –out cloud 命令将结果集成到 k6 云中。

我的脚本配置为在 5 分钟内运行 170 个用户。我还添加了一些阈值。请参阅以下脚本选项:

export const options = {
ext: {
    loadimpact: {
        projectID: #####,// Test runs with the same name groups test runs together
        name: "#######",distribution: {
            "amazon:sg:singapore": {
                loadZone: "amazon:sg:singapore",percent: 100,},}
},stages: [
    { duration: "1m",target: 170 },{ duration: "3m",{ duration: "1m",target: 0 },],thresholds: {
    http_req_Failed: ['rate<0.01'],http_req_duration: ['p(99)<=3000','p(95)<=3000','avg <= 3000'],};

在云端生成测试结果后,我不确定我应该考虑什么实际/主要响应时间或其他数据结果。

根据要求,该场景的预期 KPI(峰值负载期间)小于或等于 3 秒。如果

我应该参考/考虑在 K6 云中显示的不同测试数据结果的哪些特定部分,以了解它是否按要求通过或失败?请看下面的图片

Sample K6 Cloud Data Results

Test Requirement

任何帮助或讨论对我来说都很重要。感谢帮助!非常感谢!

解决方法

以下是响应时间指标:

enter image description here

  • MINMAX 不言自明
  • AVG 是所有请求响应时间的 arithmetic mean(所有响应时间的总和除以其计数)
  • STDDEVstandard deviation,显示响应时间之间的差异的统计度量,较低的偏差意味着您或多或少地获得相同的响应时间,较高的偏差意味着它们是分布式的,某些请求的响应时间较短,某些请求的响应时间较长
  • P95P99Percentiles,显示 95% 和 99% 的用户相应获得的响应时间,我建议坚持其中之一,即 99% 将是不错的选择。

由于响应时间(包括最长)都不超过 3 秒,我认为测试成功。

更多信息:Understanding Your Reports: Part 3 - Key Statistics Performance Testers Need to Understand