性能测试监控TP50、TP99、TP999含义
tp90 = top percentile 90 Imagine you have response times: 10s 1000s 100s 2s Calculating 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%的值要小于此阀值,否则系统将会报警;
TP90,TP99,TP999与TP50值计算方式一致,它们分别代表着对方法的不同性能要求,TP50相对较低,TP90则比较高,TP99,TP999则对方法性能要求很高。
其实我们在实际应用过程中,首先可对系统调优、压测、调优,并根据业务、性能的要求估算出某接口的所表现出的响应速度能力。然后确定90%的调用所能接受的最高响应时间t1,99%的调用所能接受的最高响应时间t2。 t2必然大于t1。 最后将确定好的指标作为阈值配置到监控系统。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214089.html原文链接:https://javaforall.net
