首页/云/可观测性速查/Histogram 与 Summary:分位统计怎么选
本包目录(282 条)
监控体系与方法40 条
Prometheus 与采集64 条Grafana 与看板53 条日志平台52 条链路追踪23 条告警与响应50 条

Histogram 与 Summary:分位统计怎么选

Histogram 在服务端按 le 分桶累计,分位用 histogram_quantile() 在查询时计算且可跨实例聚合;Summary 在客户端直接算出分位,但分位数值无法跨实例合并。

可观测性速查云更新于 2026-10-12

取舍对照

维度HistogramSummary
分位计算位置查询时(PromQL 计算)采集时(客户端计算)
跨实例聚合支持(按 le 求和后再算)不支持(分位不能平均)
精度受分桶边界影响滑动窗口内的精确分位
序列成本由桶数量决定由分位数量决定

Histogram 分位查询与平均值

Histogram 分位查询与平均值
# P90 / P99:先按 le 聚合桶,再计算分位
histogram_quantile(0.90, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))
histogram_quantile(0.99, sum by (le) (rate(http_request_duration_seconds_bucket[5m])))

# 平均耗时 = _sum / _count
sum(rate(http_request_duration_seconds_sum[5m])) / sum(rate(http_request_duration_seconds_count[5m]))
分桶边界要覆盖业务关注点(如 100ms、300ms、1s):过粗会让分位估计的误差集中在阈值附近。

易错点

  • 对多个实例的 Summary 分位值做 avg/sum 没有数学意义,需要聚合分位时应选 Histogram
  • histogram_quantile 返回的是估计值:关键 SLO 阈值附近要加密分桶才能得到可信结果

数据来源与参考

  • Prometheus 文档 · Histograms and summaries
  • Prometheus 文档 · histogram_quantile()
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌