首先放一段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則對方法性能要求很高。