在我是如何优化网站首页性能的一篇文章中提到过95分位值的概念。下面从最近实际数据看看95分位值对于性能优化的参考价值。
真实数据
最近优化有了一些效果,就正好借着具体的实例数据来看看95分位值的意义。
看下面一张图:
性能平均值
从这个曲线中可以看出3月11号数据绿色的线升高了,出了点问题。
性能50分位值
50分位值在3月11号和3月7,8号都有一些抖动,但是不是特别明显。
性能80分位值
80分位值和平均值类似,能够看到3月11号的一次波动
从上面几个数据看,其实我们能够看出来的就是3月4号开始有一个明显的下降(呵呵,优化的部分成果)。
另外一个就是感觉3月11号有一个异常点。最后排查也确实是出现了服务器的问题,后端有接口响应问题。
那么回过头来看看我们期待的95分位值,这些天记录的情况:
图中可以明显看出3月4号的优化效果,项目是3月3号上线。
第二个问题点就是很明显的看出绿色的线在3月11号有一个明显的突刺,必然是哪里出了问题。
然后第二个地方就是3月8日也有一个明显的波动,这个暂时没有找到原因,后端也没有反馈过异常。但是这个问题需要记录,如果再次出现,需要发现其中的规律。
95分位值举例
收集100个数据,从小到大排列,95分位值就是取出第95个用户的数据做统计。 50分位值就是第50个人的数据。
95分位值意义
第一点: 从上面图中可以看出,在性能统计中,95分位值的波动最明显,能够放大问题。
平均值,50分位值的图形如果不是特别关注,波动其实并不明显。
第二点: 从高T们的历史经验看,如果能够保证95分位值的稳定性,就能很好的体现系统的稳定性。