服务响应时间的重要衡量指标——百分位数值P90/P95/P99.9
创作时间:
作者:
@小白创作中心
服务响应时间的重要衡量指标——百分位数值P90/P95/P99.9
引用
CSDN
1.
https://m.blog.csdn.net/whxhy666/article/details/144658356
在进行性能测试时,设置合理的性能阈值是判断服务性能是否符合预期的关键。除了常用的最小响应时间(Min)、最大响应时间(Max)和平均响应时间(Avg)外,百分位数值(如P90、P95、P99.9)因其能够更准确地反映系统性能和用户体验,而被广泛应用于性能评估中。本文将详细介绍这些百分位数值的定义、应用场景以及计算方法。
百分位数值的定义
百分位数值是衡量数据分布的重要指标。具体来说,如果将一组数据按从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。
例如,假设有100个请求,按照响应时间从小到大排列,位置为50%的值,称为P50百分位数。P1就是响应时间最小的请求,P100就是响应时间最长的请求。
- P90:表示数据中90%以下的值都小于或等于这个数值,只有10%高于这个值。它主要用于衡量大部分用户的体验,适合评估系统的整体性能。
- P95:表示数据中95%以下的值都小于或等于这个数值,只有5%高于这个值。它主要用于发现性能瓶颈,帮助优化系统。
- P99.9:许多大型互联网公司会采用P99.9值,即99.9%用户耗时作为指标。通过测量与优化该值,可以保证绝大多数用户的使用体验。但是,优化成本过高,而且服务响应由于网络波动、系统抖动等不能解决的情况。适用于衡量极端情况下的响应时间,评估系统的稳定性。
为什么选择百分位数值?
平均值之所以会成为大多数人使用的衡量指标,主要在于它的计算简单,而P值的计算相对复杂,尤其是在系统的QPS(吞吐量)很大的时候。例如:QPS 30万/秒,那么1h的数据就达到了十几亿,需要消耗极大的内存与计算资源。
百分位数值的计算方法
分桶计算
将一个耗时范围归类到一个桶里面去,首先需要界定每个桶的跨度,可以采用等分形式,确定一个耗时上界,然后等分成N个区间。这样就避免了对所有数据进行排序,只需从范围最大的桶内剔除,直到达到5%的数量,那个桶的值就是P95值。如需精确计算可采用桶内平均的方式。
考虑到数据分布的特点,异常数据应该只占少数,而跨度可能很大,等分的方法,可能导致大量数据堆积在一个桶内。针对这个问题,可以采用非等分的方法。
参考美团点评的实时监控系统的桶跨度划分方式:
public static int computeDuration(int duration) {
if (duration < 1) {
return 1;
} else if (duration < 20) {
return duration;
} else if (duration < 200) {
return duration - duration % 5;
} else if (duration < 500) {
return duration - duration % 20;
} else if (duration < 2000) {
return duration - duration % 50;
} else if (duration < 20000) {
return duration - duration % 500;
} else if (duration < 1000000) {
return duration - duration % 10000;
} else {
int dk = 524288;
if (duration > 3600 * 1000) {
dk = 3600 * 1000;
} else {
while (dk < duration) {
dk <<= 1;
}
}
return dk;
}
}
解释:当时间小于20ms时,1ms一个桶;大于20小于200时,5ms一个桶;大于200ms小于500ms时,20ms一个桶,以此类推。桶的值可以作为百分位数的近似值,无需排序。耗时越小,精度越高。
注意事项
- 数据量足够大:百分位数的计算对数据量敏感,样本越多,结果越准确
- 剔除异常值:在计算前,需清洗数据,剔除明显的异常值(网络抖动)
- 动态监控:P90、P95、P99等值可能随时间变化,应定期重新计算。
热门推荐
治疗偷窃癖的方法:摆脱困扰,重获新生
入户地垫用什么材质的比较好
法院诉讼准备流程及所需材料详解
国内合法饲养宠物鹦鹉:一场色彩斑斓的亲密接触
“青蛙趴”:一个简单却高效的全身拉伸动作
九幺幺幺九幺幺九幺:探索数字组合背后的个性与文化价值
秦桧夫妇跪像:历史耻辱的见证与反思
阴阳师千面摘星活动最强阵容搭配
中科院团队研发堤防险情智能巡检新技术,无人机热红外成像结合深度学习实现精准预警
王基在地方上政绩斐然,在讨伐毌丘俭、诸葛诞时为司马昭出谋划策
DDR2、DDR3、DDR4 内存电压的基本认识与选择技巧
教育部发布2025考研新政:退役士兵可享加分、免试等优待
长平之战:赵国的贪婪,导致40万士兵被活埋,赵括成为背锅侠
手抄报标题设计全攻略:从创意构思到视觉呈现
Unity3D中的四元数概念与应用
氟哌啶醇是什么?有何作用?
长平之战:赵国虎口夺食,接纳上党,临阵换帅,一错再错
五谷杂粮到底指哪些?吃杂粮饭是不是真的可以减肥控糖?
辞退无固定期限合同员工的赔偿有哪些注意事项
C语言程序测试方法与工具详解
试用期工资发放标准:未满一个月可按实际工作天数折算
独一无二的火属性组合精灵,水火不容的规则在宝可梦世界并不适用
降压药的联合用药方案
五谷杂粮到底指哪些 吃杂粮饭是不是真的可以减肥控糖
《贺新郎·读史》是毛泽东对中国古代史书的艺术总结
如何用4种简单的方法在电脑上扫描二维码
变速箱油多久更换一次?详解更换周期及其重要性
苏打、小苏打、大苏打:三种常见物质的区别与用途
《古文观止》为什么是中学生学习散文的最佳选本?
《熊出没》十大美女排名,颜值一个比一个高,最后一个堪称第一女神