性能測試中的概念與主要指標
2023-12-23 18:08 穎ing 閱讀(56) 評論(0) 收藏 舉報轉換思維:性能測試不再是找bug,而在找性能指標。
性能測試一定要用工具,因為要模擬多用戶操作。
性能測試:通過工具,找出或獲得系統不同工況下的性能指標。
負載測試(“看看你有幾斤幾兩”):逐步增加系統負載,測試系統性能變化,并最終確定系統所能承受的最大負載量。超出最大負載量,就容易出現異常:比如相應時間超長、報錯、宕機等。
負載測試如何尋找"拐點"?使用哪種方法進行測試? - 知乎 (zhihu.com)
壓力測試(“鴨梨好大嗷”):在較大的性能壓力下,持續運行一個比較長的時間,看系統服務以及各資源利用情況。(較大壓力就是負載測試中找出來的最大負載量之下;較長時間一般是7*24小時或者24小時的倍數)
可靠性測試:在給定的一定的業務壓力下,持續運行一段時間,查看系統是否穩定。例如:秒殺,1000個用戶1秒鐘的性能指標,這種是性能測試,也是可靠性測試
容量測試:在一定的軟、硬件條件下,在數據庫不同數量級數據量的情況下,對系統中讀/寫比較多的業務進行測試,從而獲得不同數據量級下的性能指標。
性能測試主要指標:
并發
- 俠義:同一時間點執行相同的操作(如秒殺)
- 廣義:同一時間點,向服務器發起的請求
并發用戶數(重要指標):某一時間同時向軟件系統提交請求的用戶數,場景不一定事同一個
- 系統用戶數:軟件系統注冊的用戶總數
- 在線用戶數:某段視角內訪問的用戶數,這些用戶只是在線,不一定同時做某一件事,有可能只是掛機
- 線程數:jmeter中,并發用戶數可以理解為線程數
事務(Transaction):指一個客戶機向服務器發送請求然后服務器做出反應的過程。jmeter中默認一個接口請求就是一個事務,也支持多個接口整體作為一個事務,例如下單業務,需要登陸->獲取商品->下單->支付->獲取支付結果等,需要調用多個接口,這種多個接口合并到一個事務中,實際就是一個業務的性能。
相應時間(RT)(重要指標):從發起請求到收到請求響應的時間。發送請求網絡傳輸時間+服務器處理時間+返回響應網絡傳輸時間
TPS\QPS(最主要指標):
- TPS(Transactions per Second ):服務器每秒處理事務數,衡量服務器處理能力的最主要指標
- QPS(Queries per Second):每秒查詢率
- 差異:一個Transactions 可能有多個Queries,如一個登陸,要查詢用戶存不存在、用戶的密碼是否正確等
吞吐量(Throughput):單位時間內處理的請求數量(事務/s)。衡量網絡的,如果網絡沒有任何的瓶頸,那吞吐量和TPS數值上保持一致
吞吐率:單位時間通過的數據的平均速率(kB/s)
點擊率(Hit per Second):每秒點擊數。jmeter比較少,一般LoadRunner有這個指標。
資源利用率:指服務器資料的使用程度,比如服務器(應用及數據庫)的CPU利用率、內存利用率、磁盤利用率、網絡帶寬利用率等,一般都不要超過80%。
性能測試結果分析思路:服務器硬件瓶頸>網絡瓶頸>服務器os瓶頸(參數配置、數據庫、web服務器)>應用瓶頸(sql語句、數據庫設計、業務邏輯、算法)
浙公網安備 33010602011771號