测试结束
测试完成后,k6 会将汇总结果的摘要输出到 stdout
。默认情况下,k6 使用“紧凑”摘要模式,专注于最重要的指标,但您也可以使用显示所有可用信息的“完整”模式。
摘要模式
k6 通过 --summary-mode
选项 提供三种不同的方式显示测试结果:
- compact (默认): 以简洁的格式显示最相关的测试结果。
- full: 包含紧凑格式的所有信息,以及额外的 k6 指标和每个分组和场景的详细结果。
- legacy: 使用 v1.0.0 之前的摘要格式以保持向后兼容性。
紧凑模式 (默认)
紧凑模式提供了简洁的概览,重点关注三个关键方面:
- Thresholds 结果
- Checks 结果
- 按类别聚合的指标结果
█ 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
完整模式
完整模式提供全面的测试结果,包括:
- 紧凑模式的所有信息
- 特定分组的结果
- 特定场景的结果
例如
█ 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/grpc
或k6/browser
等模块的结果 - 执行指标: 测试执行详情,如迭代次数和虚拟用户 (VUs)
- 网络指标: 数据传输统计信息
注意
类别仅在相关时显示。例如,浏览器指标仅在使用
k6/browser
模块时显示。
Checks 和 Thresholds
Thresholds: 在测试选项中定义的性能要求的通过/失败结果
- 示例: 响应时间限制或错误率限制
- 始终显示在结果顶部
- 明确指示成功 (✓) 或失败 (✗)
Checks: 验证特定行为的测试断言结果
- 示例: 响应状态码或响应体内容
- 显示每个 check 的通过/失败比例
- 在完整模式下,checks 会出现在其相应的分组或场景下
分组和场景 (仅完整模式)
使用完整模式时,您会看到额外的部分:
汇总选项
使用以下选项自定义汇总输出:
--summary-mode
: 选择 compact、full 或 legacy 显示模式--no-summary
: 禁用测试结束报告--summary-trend-stats
: 选择 Trend 指标要显示的统计数据--summary-time-unit
: 为所有值设置统一的时间单位
深入了解
k6 提供其他方式来处理和分析测试结果: