k6 如何显示 TP99 和 TP99.99 统计结果
默认配置下,k6 会显示各个指标的 avg,min,med,max,p(90),p(95)。例如:
http_req_duration..............: avg=2.7s min=2.7s med=2.7s max=2.7s p(90)=2.7s p(95)=2.7s
这里的 p(95) ,指的是 Percentile,或者 Top Percentile(TP)。 如果某统计结果显示,HTTP 请求时延 p(95)=10ms,指的是95%的 HTTP 请求都在 10ms 以内完成。
在企业级场景,我们需要的至少是 p(99),甚至是 p(99.99) 和 p(99.999)。也就是俗称的4个9或者5个9。
在 k6 中,控制该行为的选项是:
环境变量 | 命令行参数 | 代码/配置文件 | 默认值 |
---|---|---|---|
K6_SUMMARY_TREND_STATS | --summary-trend-stats | summaryTrendStats | avg,min,med,max,p(90),p(95) |
该选项定义了如何显示 Trend 类型的指标。支持的值为:
avg: average 平均值(ps: 平均值太容易误导人,建议直接不看)
med: median 中位数
min: 最小值
max: 最大值 count: 计数(自 k6 v0.26.0 引入)
p(xx): 任意合法的 percentile 百分位
例子
你可以在 JavaScript 文件中配置 summaryTrendStats 或者从命令行中指定 --summary-trend-stats
参数。
export const options = {
summaryTrendStats: ['avg', 'min', 'med', 'max', 'p(95)', 'p(99)', 'p(99.99)', 'count'],
};
k6 run --summary-trend-stats="avg,min,med,max,p(90),p(99.9),p(99.99),count" ./script.js