菜单
开源 RSS

测试结束

测试完成后,k6 会将汇总结果的摘要输出到 stdout。默认情况下,k6 使用“紧凑”摘要模式,专注于最重要的指标,但您也可以使用显示所有可用信息的“完整”模式。

摘要模式

k6 通过 --summary-mode 选项 提供三种不同的方式显示测试结果:

  • compact (默认): 以简洁的格式显示最相关的测试结果。
  • full: 包含紧凑格式的所有信息,以及额外的 k6 指标和每个分组和场景的详细结果。
  • legacy: 使用 v1.0.0 之前的摘要格式以保持向后兼容性。

紧凑模式 (默认)

紧凑模式提供了简洁的概览,重点关注三个关键方面:

  • Thresholds 结果
  • Checks 结果
  • 按类别聚合的指标结果
bash
  █ THRESHOLDS

    http_req_duration
    ✓ 'p(95)<1500' p(95)=148.21ms
    ✓ 'p(90)<2000' p(90)=146.88ms

    http_req_failed
    ✓ 'rate<0.01' rate=0.00%


  █ TOTAL RESULTS

    checks_total.......................: 90      13.122179/s
    checks_succeeded...................: 100.00% 90 out of 90
    checks_failed......................: 0.00%   0 out of 90

    ✓ test-api.k6.io is up
    ✓ status is 200

    CUSTOM
    custom_waiting_time................: avg=152.355556 min=120      med=141      max=684      p(90)=147.2    p(95)=148.8

    HTTP
    http_req_duration..................: avg=140.36ms   min=119.08ms med=140.96ms max=154.63ms p(90)=146.88ms p(95)=148.21ms
      { expected_response:true }.......: avg=140.36ms   min=119.08ms med=140.96ms max=154.63ms p(90)=146.88ms p(95)=148.21ms
    http_req_failed....................: 0.00%  0 out of 45
    http_reqs..........................: 45     6.56109/s

    EXECUTION
    iteration_duration.................: avg=152.38ms   min=119.37ms med=141.27ms max=684.62ms p(90)=147.11ms p(95)=148.39ms
    iterations.........................: 45     6.56109/s
    vus................................: 1      min=1       max=1
    vus_max............................: 1      min=1       max=1

    NETWORK
    data_received......................: 519 kB 76 kB/s
    data_sent..........................: 4.9 kB 718 B/s

完整模式

完整模式提供全面的测试结果,包括:

  • 紧凑模式的所有信息
  • 特定分组的结果
  • 特定场景的结果

例如

bash
  █ THRESHOLDS

    http_req_duration
    ✓ 'p(95)<1500' p(95)=145.17ms
    ✓ 'p(90)<2000' p(90)=132.76ms

    http_req_failed
    ✓ 'rate<0.01' rate=0.00%


  █ TOTAL RESULTS

    checks_total.......................: 110     19.569305/s
    checks_succeeded...................: 100.00% 110 out of 110
    checks_failed......................: 0.00%   0 out of 110

    ✓ grafana.com is up
    ✓ status is 200
    ✓ test-api.k6.io is up
    ✓ crocodile exists

    CUSTOM
    custom_waiting_time................: avg=92.444444 min=56      med=63       max=365      p(90)=120      p(95)=121

    HTTP
    http_req_blocked...................: avg=4.36ms    min=0s      med=5µs      max=245.04ms p(90)=13µs     p(95)=14.59µs
    http_req_connecting................: avg=1.99ms    min=0s      med=0s       max=115.51ms p(90)=0s       p(95)=0s
    http_req_duration..................: avg=105.72ms  min=56.31ms med=117.44ms max=328.62ms p(90)=132.76ms p(95)=145.17ms
      { expected_response:true }.......: avg=105.72ms  min=56.31ms med=117.44ms max=328.62ms p(90)=132.76ms p(95)=145.17ms
    http_req_failed....................: 0.00%  0 out of 65
    http_req_receiving.................: avg=11.83ms   min=39µs    med=168µs    max=54.2ms   p(90)=30.73ms  p(95)=31.49ms
    http_req_sending...................: avg=43.32µs   min=11µs    med=27µs     max=485µs    p(90)=74.2µs   p(95)=81.59µs
    http_req_tls_handshaking...........: avg=2.3ms     min=0s      med=0s       max=127.41ms p(90)=0s       p(95)=0s
    http_req_waiting...................: avg=93.85ms   min=26.54ms med=117.12ms max=328.38ms p(90)=132.61ms p(95)=145.11ms
    http_reqs..........................: 65     11.56368/s

    EXECUTION
    iteration_duration.................: avg=159.31ms  min=56.45ms med=62.65ms  max=570.47ms p(90)=258.2ms  p(95)=350.51ms
    iterations.........................: 45     8.005625/s
    vus................................: 1      min=1       max=2
    vus_max............................: 2      min=2       max=2

    NETWORK
    data_received......................: 7.1 MB 1.3 MB/s
    data_sent..........................: 32 kB  5.6 kB/s


  █ SCENARIO: left

    checks_total.......................: 60      10.674166/s
    checks_succeeded...................: 100.00% 60 out of 60
    checks_failed......................: 0.00%   0 out of 60

    ✓ test-api.k6.io is up
    ✓ status is 200
    ✓ crocodile exists

    CUSTOM
    custom_waiting_time................: avg=130.6    min=116      med=118      max=365      p(90)=121      p(95)=133.2

    HTTP
    http_req_blocked...................: avg=6.13ms   min=2µs      med=6µs      max=245.04ms p(90)=13µs     p(95)=15.99µs
    http_req_connecting................: avg=2.88ms   min=0s       med=0s       max=115.51ms p(90)=0s       p(95)=0s
    http_req_duration..................: avg=134.17ms min=116.42ms med=122.02ms max=328.62ms p(90)=140.36ms p(95)=207.85ms
    http_req_failed....................: 0.00%  0 out of 40
    http_req_receiving.................: avg=128.64µs min=39µs     med=88µs     max=630µs    p(90)=207µs    p(95)=234.04µs
    http_req_sending...................: avg=21.82µs  min=11µs     med=20µs     max=44µs     p(90)=29.3µs   p(95)=34.05µs
    http_req_tls_handshaking...........: avg=3.18ms   min=0s       med=0s       max=127.41ms p(90)=0s       p(95)=0s
    http_req_waiting...................: avg=134.02ms min=116.32ms med=121.93ms max=328.38ms p(90)=140.29ms p(95)=207.73ms
    http_reqs..........................: 40     7.116111/s

    EXECUTION
    iteration_duration.................: avg=281.02ms min=239.75ms med=249.02ms max=570.47ms p(90)=379.3ms  p(95)=455.72ms
    iterations.........................: 20     3.558055/s

    NETWORK
    data_received......................: 239 kB 43 kB/s
    data_sent..........................: 4.8 kB 857 B/s

    ↳ GROUP: crocodiles results

      checks_total.....................: 20      3.558055/s
      checks_succeeded.................: 100.00% 20 out of 20
      checks_failed....................: 0.00%   0 out of 20

      ✓ crocodile exists

      HTTP
      http_req_blocked.................: avg=7.75µs   min=4µs      med=6µs      max=35µs     p(90)=9.4µs    p(95)=14.09µs
      http_req_connecting..............: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s
      http_req_duration................: avg=150.15ms min=122.84ms med=130.79ms max=328.62ms p(90)=210.14ms p(95)=255.24ms
      http_req_failed..................: 0.00% 0 out of 20
      http_req_receiving...............: avg=130.99µs min=43µs     med=95.5µs   max=558µs    p(90)=207µs    p(95)=233.09µs
      http_req_sending.................: avg=19.95µs  min=13µs     med=19µs     max=35µs     p(90)=23.2µs   p(95)=25.49µs
      http_req_tls_handshaking.........: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s
      http_req_waiting.................: avg=150ms    min=122.78ms med=130.46ms max=328.38ms p(90)=210.01ms p(95)=255.02ms
      http_reqs........................: 20    3.558055/s

理解汇总组件

汇总报告将信息组织成几个关键部分:

按类别划分的指标

汇总根据指标来源显示指标:

  • 协议特定指标: 来自 k6/http, k6/net/grpck6/browser 等模块的结果
  • 执行指标: 测试执行详情,如迭代次数和虚拟用户 (VUs)
  • 网络指标: 数据传输统计信息

注意

类别仅在相关时显示。例如,浏览器指标仅在使用 k6/browser 模块时显示。

Checks 和 Thresholds

  • Thresholds: 在测试选项中定义的性能要求的通过/失败结果

    • 示例: 响应时间限制或错误率限制
    • 始终显示在结果顶部
    • 明确指示成功 (✓) 或失败 (✗)
  • Checks: 验证特定行为的测试断言结果

    • 示例: 响应状态码或响应体内容
    • 显示每个 check 的通过/失败比例
    • 在完整模式下,checks 会出现在其相应的分组或场景下

分组和场景 (仅完整模式)

使用完整模式时,您会看到额外的部分:

  • 分组: 相关请求的逻辑分组结果
  • 场景: 每个测试场景配置的结果

汇总选项

使用以下选项自定义汇总输出:

深入了解

k6 提供其他方式来处理和分析测试结果: