Java教程

【工程实践】性能测试监控TP50、TP99、TP999含义

本文主要是介绍【工程实践】性能测试监控TP50、TP99、TP999含义,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

性能测试监控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
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%的值要小于此阀值,否则系统将会报警;

配置TP99指标=99s:配置此监控指标对应的报警阀值后,需要保证在某一时间段内该方法所有调用的消耗时间至少有99%的值要小于此阀值,否则系统将会报警;
依次类推。

TP90,TP99,TP999与TP50值计算方式一致,它们分别代表着对方法的不同性能要求,TP50相对较低,TP90则比较高,TP99,TP999则对方法性能要求很高。

其实我们在实际应用过程中,首先可对系统调优、压测、调优,并根据业务、性能的要求估算出某接口的所表现出的响应速度能力。然后确定90%的调用所能接受的最高响应时间t1,99%的调用所能接受的最高响应时间t2。 t2必然大于t1。 最后将确定好的指标作为阈值配置到监控系统。

这篇关于【工程实践】性能测试监控TP50、TP99、TP999含义的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!