效能測試策略和關注指標
阿新 • • 發佈:2022-03-29
平常不寫部落格,跑路時總歸得做個總結,不過其他的都是能百度到的東西,只有效能測試的實踐算是有自己的體會。
常用的工具是jmeter和locust,各有好壞,個人現在習慣純程式碼式的locust,方便場景組合。
效能測試常見場景:
1.新產品架構完成,編碼完成 後,測試最大負載和穩定性
2.產品中應用新的元件,測試新元件和舊程式碼之間的效能差距。如何比較差距,一般是相同條件,在新舊程式碼分支壓測最大負載和穩定性,互相對比。
效能測試中關注的指標:
1.響應時間 ,平均,90%,最大,最小時間。響應慢,查詢慢sql.
2.TPS,時間不足,直接壓複合場景的話,簡單計算單介面tps需要rps*介面數
3.機器效能,CPU,記憶體,一般70%以下可認為效能問題不大,再往上可能引起後續壓測介面報錯甚至服務停止
4.如果發現CPU佔用非常快,top檢查對應的執行緒佔用,是否死迴圈,GC頻繁等
5.記憶體佔用高,是否寫的操作太多,是否記憶體回收設定不合理,導致記憶體洩漏等
6.其他指標,IO,網路
指標效能好壞可參考下表:
效能項 |
資源 |
評價 |
CPU佔用率 |
70% |
好 |
85% |
壞 |
|
90%+ |
很差 |
|
磁碟I/0 |
<30% |
好 |
<40% |
壞 |
|
<50%+ |
很差 |
|
網路 |
<30%頻寬 |
好 |
執行佇列 |
<2*CPU數量 |
好 |
記憶體 |
沒有頁交換 |
好 |
每個CPU每秒10個頁交換 |
壞 |
|
更多的頁交換 |
很差 |