效能指標

JHY發表於2022-09-28

測試指標:
1、響應時間(resonse time):
你得定義一個系統的響應時間 latency,建議是 TP95 或以上。響應時間具體要求多少,一般讀不超過 200ms,寫不超過 500ms。要是實在不知道,對標同行業競品。(2、5、8 基本原則)
最小響應時間(min rt)
最大響應時間(max rt)
平均響應時間(avg rt)
2、成功率/失敗率(Error):
在關注 QPS 和響應時間的同時,還要關注成功率。如果 QPS 和響應時間都滿足效能要求時,請求成功率只有 50%,使用者也是不會接受的。
成功率=成功請求數 / 請求數總和
失敗率=失敗請求書 / 請求數總和
3、吞吐量:
TPS(每秒事務請求數)或 QPS(每秒請求量),在目標響應時間要求下,系統可支撐的最高吞吐量。
吞吐率=吞吐量 / 傳輸時間
QPS=請求數 / 請求時間
TPS=事務數 / 請求時間
4、效能拐點:
一般服務都有效能臨界點。當超過臨界點時,吞吐量非線性下降,響應時間指數級增加,成功率降低。
4.1 找到出現效能拐點的主要原因:
基於效能拐點主要原因設定高危效能報警線。此為高風險注意事項,因為一旦達到效能拐點,有可能會出現雪崩現象,造成極其嚴重的事故。
觀察超過效能拐點後,系統是否會出現假死、崩潰等高風險事件。
5、系統穩定性:
保持最高吞吐量(目標響應時間下的最高吞吐量),持續執行 7*24 小時。然後收集 CPU,記憶體,硬碟/網路 IO,等指標,檢視系統是否穩定,比如,CPU 是平穩的,記憶體使用也是平穩的。那麼,這個值就是系統的效能。
6、極限吞吐量:
階梯式增加併發壓力,找到系統的極限值。比如:在成功率 100% 的情況下(不考慮響應時間的長短),系統能堅持 10 分鐘的吞吐量。
7、系統健壯性:
做 Burst Test。用第二步得到的吞吐量執行 5 分鐘,然後在第四步得到的極限值執行 1 分鐘,再回到第二步的吞吐量執行 5 鍾,再到第四步的許可權值執行 1 分鐘,如此往復個一段時間,比如 2 天。收集系統資料:CPU、記憶體、硬碟/網路 IO 等,觀察他們的曲線,以及相應的響應時間,確保系統是穩定的。
8、低吞吐量和網路小包的測試:
有時候,在低吞吐量的時候,可能會導致 latency 上升,比如 TCP_NODELAY 的引數沒有開啟會導致 latency 上升(詳見 TCP 的那些事),而網路小包會導致頻寬用不滿也會導致效能上不去,所以,效能測試還需要根據實際情況有選擇的測試一下這兩咱場景。
4、硬體資源利用率:cpu、記憶體、磁碟 io、網路 io
5、併發數:併發數、併發使用者數、虛擬使用者數
6、併發數、響應時間、吞吐量(tps)的關係:
tps=併發數 / 平均響應時間

監控指標:
1、作業系統:
cpu 繁忙率、記憶體使用率、網路流入流出率、磁碟 IO 繁忙率
2、應用:
執行緒數、JVM 引數、GC 頻率大小、鎖(樂觀鎖、悲觀鎖等)
3、中介軟體:
Tomacat 連線數、MQ 佇列大小、kafka 佇列大小、redis 佇列大小
4、資料庫:
資料庫連線數、SQL 執行效率

相關文章