性能测试监控TP50、TP99、TP999含义 原文
首先放一段google到的一段解释:
The tp90 is a minimum time under which 90% of requests have been served.
tp90 = top percentile 90
Imagine you have response times:
10s
1000s
100s
2sCalculating TP is very simple:
1. Sort all times in ascending order: [2s, 10s, 100s, 1000s]
2. find latest item in portion you need to calculate.
2.1 For TP50 it will be ceil(4*0.5) = 2 requests. You need 2nd request.
2.2 For TP90 it will be ceil(4*0.9) = 4. You need 4th request.3. We get time for the item found above. TP50=10s. TP90=1000s
TP=Top Percentile,Top百分位数,是一个统计学里的术语,与平均数、中位数都是一类。
以下均为个人理解,如有误差还请指正。
TP指标: 指在一个时间段内,统计该方法每次调用所消耗的时间,并将这些时间按从小到大的顺序进行排序, 并取出结果为 : 总次数 * 指标数 = 对应TP指标的序号 , 再根据序号取出对应排序好的时间,即为TP指标。
文章开始引用中的例子中样本较少,不好理解。举一个样本较多的例子,方便解释:
假设上一分钟内接口被调用100次,100次的调用耗时分别为:1、2、3...99、100秒。
我们对耗时进行从小到大排序,形成容量为100的数组A=[1s,2s,3s....99s,100s]
TP50的计算方式:100*50%=50,所以TP50指标=A[50]=50s
TP99的计算方式:100*99%=99,所以TP99指标=A[99]=99s
TP999的计算方式:100*999%=99.9,99.9进位取整为100,所以TP999指标=A[999]=100s
配置TP50指标=50s:配置此监控指标对应的报警阀值后,需要保证在某一时间段内该方法所有调用的消耗时间至少有50%的值要小于此阀值,否则系统将会报警;
配置TP99指标=99s:配置此监控指标对应的报警阀值后,需要保证在某一时间段内该方法所有调用的消耗时间至少有99%的值要小于此阀值,否则系统将会报警;
依次类推。
TP90,TP99,TP999与TP50值计算方式一致,它们分别代表着对方法的不同性能要求,TP50相对较低,TP90则比较高,TP99,TP999则对方法性能要求很高。
其实我们在实际应用过程中,首先可对系统调优、压测、调优,并根据业务、性能的要求估算出某接口的所表现出的响应速度能力。然后确定90%的调用所能接受的最高响应时间t1,99%的调用所能接受的最高响应时间t2。 t2必然大于t1。 最后将确定好的指标作为阈值配置到监控系统。