服务端开发95th 99th 是什么意思?

作者:滔滔不绝

链接:https://www.zhihu.com/question/20575291/answer/22814728

来源:知乎

服务端的监控有很多指标,常见的QPS和延时,通常延时我们会用95th、99th来标记。很多工作多年的服务端工程师平常会查看延时,但是这两个指标是什么意思都不清楚。很多开源的数据库压测工具都会关注这个指标,比如:YCSB.

首先,这是一个统计的概念。如果知道某数在一个有序排列的集合中,处于什么位置,我们就对整个数据集合就有了概念。首先,它衡量的是一组数据,对于某个接口,准确统计它的流量时非常有用,它可以取出一些偶然得到的异常值。 95th百分点是统计时所采用的最高值,超过的5%的数据将被舍弃。

这样可以将瞬间的毛刺(尖峰)去掉,使统计平均更具真实意义。

例如: 收集的数据(20个点)为

将该序列降序排列。

由于20个点的5%为1,所以我们舍弃1个最大值89。剩下的最大值76就是我们所说的95th百分点.

在服务端中,假如你1min中采集了1000词请求的延时,那么95标记的就是降序排完之后950个的延时,这样极端的个别lantency异常的点就不会被统计到,从而让你以为是整体延时偏高。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181019A0EPDB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券