作者:滔滔不绝 链接:https://www.zhihu.com/question/20575291/answer/22814728 来源:知乎
服务端的监控有很多指标,常见的QPS和延时,通常延时我们会用95th、99th来标记。很多工作多年的服务端工程师平常会查看延时,但是这两个指标是什么意思都不清楚。很多开源的数据库压测工具都会关注这个指标,比如:YCSB.
首先,这是一个统计的概念。如果知道某数在一个有序排列的集合中,处于什么位置,我们就对整个数据集合就有了概念。 首先,它衡量的是一组数据,对于某个接口,准确统计它的流量时非常有用,它可以取出一些偶然得到的异常值。 95th百分点是统计时所采用的最高值,超过的5%的数据将被舍弃。 这样可以将瞬间的毛刺(尖峰)去掉,使统计平均更具真实意义。
例如: 收集的数据(20个点)为
60,45,43,21,56,89,76,32,22,10,12,14,23,35,45,43,23,23,43,23
将该序列降序排列。
89,76,60,56,45,45,43,43,43,35,32,23,23,23,23,22,21,14,12,10
由于20个点的5%为1,所以我们舍弃1个最大值89。剩下的最大值76就是我们所说的95th百分点.
在服务端中,假如你1min中采集了1000词请求的延时,那么95标记的就是降序排完之后950个的延时,这样极端的个别lantency异常的点就不会被统计到,从而让你以为是整体延时偏高。
本文分享自 Leetcode名企之路 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!