性能監控 TP 指標

一、TP 指標

在對系統進行性能測試或性能監控時候,TP 指標是一種比較常見的性能參數,包括 TP50、TP99、TP999 等等。

= 總次數 \ast 指標數 = 對應指標在總次數中的序號

通俗點說,假設爲了測試某接口性能,對其調用100次,將每次的響應時間升序排序,假設響應時間排序結果爲:1、2、3…99、100 毫秒。

那麼:

TP50=10050%=50=50 TP50 = 100 * 50\% = 第50次 = 50毫秒

也就是說,該接口 TP50 達到了 50 毫秒的水平,也就是說請求該接口有 50% 的情況耗時在 50 毫秒以下

同理:

TP999=10099.9%=99.9100 TP999 = 100 * 99.9\% = 第99.9次 \approx 100毫秒

也就是說,該接口 TP999 達到了 100 毫秒的水平,也就是說請求該接口有 99.9% 的情況耗時在 100 毫秒以下

需要注意的是,一般在 TP 指標中,如果對應的序號不是整數,一般向上取整。例如在上例的 TP999 中,序號 99.9 不存在,取了序號 100 來計算。

二、百分位數

TP 指標脫離了在計算機中的應用,實際上在統計學學中就是百分位數的概念。

百分位數:如果將一組數據從小到大排序,並計算相應的累計百分位,則某一百分位所對應數據的值就稱爲這一百分位的百分位數。可表示爲:一組n個觀測值數值大小排列。如,處於p%位置的值稱第p百分位數。

也就是說,TP50 其實就是 50百分位數,TP999 就是 99.9百分位數。百分位數計算的結果是一個具體值,計算公式如下:

假設存在數組(下標從 0 開始) a,百分位數爲:p,將數組其升序排序後,那麼:

(a.length1)p=i+j (a.length - 1) \ast p = i + j

其中 ii 爲結果整數部分,jj 爲結果小數部分。

計算最終結果爲:

res=(1j)a[i]+ja[i+1] res = (1 - j) \ast a[i] + j \ast a[i+1]

舉個例子:存在數組:[1, 2, 3, 4, 5, 6, 6, 6, 6, 7, 8, 9],已經保證升序排序了,求90百分位數,那麼:

KaTeX parse error: No such environment: split at position 8: \begin{̲s̲p̲l̲i̲t̲}̲ (a.length - 1)…

計算最終結果爲:

KaTeX parse error: No such environment: split at position 8: \begin{̲s̲p̲l̲i̲t̲}̲ res &= (1 - 0.…

也就是說,這組數據的90百分位數爲 7.9,即 TP90 = 7.9。

PS:以上公式實際上就是 Excel 的 PERCENTILE 函數的實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章