IMLC.ME
/k6/k6 如何显示 TP99 和 TP99.99 统计结果/

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-statssummaryTrendStatsavg,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