概念:TP指標: 指在一個時間段內,統計該方法每次調用所消耗的時間,並將這些時間按從小到大的順序進行排序,並取出結果為:總次數 * 指標數 = 對應TP指標的值, 在取出排序好的時間。
TP50:指在一個時間段內(如5分鍾),統計該方法每次調用所消耗的時間,並將這些時間按從小到大的順序進行排序,取第50%的那個值作為TP50 值;配置此監控指標對應的報警閥值后,需要保證在這個時間段內該方法所有調用的消耗時間至少有50%的值要小於此閥值,否則系統將會報警。
TP90,TP99,TP999與TP50值計算方式一致,它們分別代表着對方法的不同性能要求,TP50相對較低,TP90則比較高,TP99,TP999則對方法性能要求很高。
舉個例子:有四次請求耗時分別為:
10ms,1000ms,100ms,2ms
那么我們可以這樣計算TP99:4次請求中,99%的請求數為4*0.99,進位取整也就是4次,滿足這全部4次請求的的最低耗時為1000ms,也就是TP99的答案是1000ms。
一、 TP50、TP90、TP99、TP999
TP(Top Percentile)Top百分數,是一個統計學的術語,與平均數、中位數一樣。是不是看着這句話很眼熟?對,沒錯,是我抄過來的。請腦補一個大笑的表情,以達到我這句話的效果,謝謝
在網上看了很多帖子,是這樣解釋這些指標的:
TP50:滿足百分之五十的網絡請求所需的最低耗時。
TP90:滿足百分之九十的網絡請求所需的最低耗時。
TP99:滿足百分之九十九的網絡請求所需的最低耗時。
TP999:滿足千分之九百九十九的網絡請求所需的最低耗時。
public static final int TOTAL_RUNS = 1000000;
public static final int TP50 = (int)(TOTAL_RUNS * 0.50);
public static final int TP90 = (int)(TOTAL_RUNS * 0.90);
public static final int TP99 = (int)(TOTAL_RUNS * 0.99);
public static final int TP99_9 = (int)(TOTAL_RUNS * 0.999);
public static final int TP100 = (int)(TOTAL_RUNS * 1);
看完這些解釋,我只想說一句。。。。
我看不懂!!!能不能舉栗說明一下子!!!
當然,熱心的網友朋友們,當然會滿足你的要求。
例子大概是這樣寫的:
有四次請求耗時分別為:
10ms,1000ms,100ms,2ms
那么我們可以這樣計算TP99:4次請求中,99%的請求數為4*0.99,進位取整也就是4次,滿足這全部4次請求的的最低耗時為1000ms,也就是TP99的答案是1000ms。
你沒有猜錯,這個栗子也是我偷過來的。
網友們給出的栗子,也是Google到別人的解釋。
不知道為什么,剛看這個,看了好多次都沒看懂到底是為什么,當然不排除是我笨的原因。
直到,我看到了這個栗子的原版。
**tp90 is a minimum time under which 90% of requests have been served. Imagine you have times:
10s
1000s
100s
2s
Calculating TP is very simple:
sort all times in ascending order: [2s, 10s, 100s, 1000s]
find latest item in portion you need to calculate. For TP50 it will ceil(4.5)=2 requests. You need 2nd request. For TP90 it will be ceil(4.9)=4. You need 4th request.
get time for the item found above. TP50=10s. TP90=1000s**
仔細看上邊的解釋
TP90:先算出90%的請求是多少,4*0.9進位取整也就是4次
也是滿足四次請求的最低耗時,也就是四次請求中,耗時最長的那個時間。
那個排序就是為了讓大家更清楚的看到結果。
一、解釋
1000s
100s
2s
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.
依次類推。
二、實際應用
序號
|
1
|
2
|
3
|
4
|
…
|
50
|
…
|
90
|
…
|
99
|
100
|
用時
|
2
|
2
|
2
|
3
|
…
|
3
|
…
|
3
|
…
|
4
|
5
|
序號
|
1
|
2
|
3
|
4
|
…
|
50
|
…
|
90
|
…
|
99
|
100
|
用時
|
2
|
2
|
2
|
3
|
…
|
3
|
…
|
3
|
…
|
4
|
5
|