單業務基准測試
目的:單業務基准測試是在服務器沒有壓力的情況下,獲取單筆業務的處理時間,為后續調優提供數據依托;
jmeter中設置單個線程迭代n次(如200),取平均響應時間。一般情況下我們不需要監控硬件資源和數據庫;
單業務負載測試
目的:獲取系統單筆業務的最大處理能力,以及性能指標之間的關聯關系和變化趨勢;如:響應時間隨TPS的變化趨勢,TPS和響應時間隨並發用戶數變化的趨勢、CPU利用率隨TPS的變化趨勢。注意:關注的是最大業務處理能力,而不是系統並發數;
策略:單業務負載測試一般以逐漸加壓的方式執行30分鍾(無步調、無ThinkTime),觀察性能拐點。同時需要監控服務器資源、數據庫處理能力。jmeter中可以用rps定時器或階梯加壓線程取實現;線程組中線程數的設置可隨意,如,100,代表期望用100個用戶實現jp@gc - Throughput Shaping Timer規定的rps;
拐點判斷方式:
1) 通過Tps/Hps走勢圖觀察拐點。吞吐量會隨壓力的增大呈拋物線狀,拋物線的最高點處,即為當前測試環境下該交易的單支最大處理能力。吞吐量的拐點往往也就是響應時間的拐點;由圖中可以看出最大tps大約為54/s;
2)通過資源消耗判斷拐點。比如測試中TPS仍呈上升趨勢,但CPU資源使用率已高達90%,就以此時tps值為當前測試環境下該業務的單筆最大處理能力;
混合業務負載測試
目的:考察各業務按比例分配逐漸加壓的情況下,系統隨着負載變化處理能力趨勢,如響應時間、TPS、資源消耗;
執行策略
按比例分配,通過逐漸加壓的方式進行1-2小時,需監控服務器資源消耗、數據庫處理能力等。混合業務負載測試也需要判斷拐點,判斷方式與單業務負載測試相同;
上圖是線程設置100,不限迭代次數;與下圖線程設置2000,tps很接近;
穩定性測試
目的:系統長時間處於極限負載下的處理能力,是否隨着測試時間的增長,有響應時間變長、內存泄露、磁盤空間不足、等隱藏問題;
執行策略:通過逐漸加壓的方式執行8小時(也可以說4、6、12、24、24*7等,根據實際情況),監控服務器資源消耗(特別是核心進程的內存消耗)、數據庫處理能力等。穩定性測試負載壓力可以采用系統最大處理能力的70%或80%,或混合場景中的某個壓力值;
壓力測試
負載測試
穩定性測試