PromQL 从入门到精通所以在看延迟数据时,我们通常会用分位值,比如99分位,90分位,50分位,所谓的分位值, 就是把一段时间内的所有延迟数据从小到大排序,99分位就是看第99%位置的那个值的大小。 还是上面的例子,平均响应时间是1.18秒,但是99分位时间是10秒,相差巨大,更容易暴露问 题。这里所谓的99分位延迟10秒,可以理解为,99%的请求都在10秒内返回。 从监控系统角度,如何来存储和计算出99分位值呢?如果每分钟有1亿个请求,难道真的要在监 1亿个请求,难道真的要在监 控系统中存储这1亿个请求,然后排序,然后求取分位值?那这个代价就太大了。监控数据是采 样数据,对准确性要求没有那么的高,有没有什么办法可以降低这个代价呢?这就是 Prometheus Histogram 的设计初衷了。 Histogram 类型,是把延迟数据分到多个桶里,比如下面的例子,我们查询一个bucket指标看 看效果,虽然这个指标的桶划分不是很合理,也可以说明问题: 120396 假设我们统计50分位,那就是120396*0.5=60198.0,落到了 le="+Inf" 这个桶里了,所以我 们断定50分位的值一定是大于60秒的,当然,因为这个桶划分不是很合理,导致,90分位、99 分位,定然也是在 le="+Inf" 桶里,即值一定是大于60秒的,因为 le="+Inf" 这个桶没有上 界,导致我们无法区分这几个分位值。 1 2 3 4 50 码力 | 16 页 | 2.77 MB | 1 年前3
共 1 条
- 1
相关搜索词













