jmeter負載測試,會討論到持續穩定地增加系統的負載。
負載測試的目的,結合響應時間,tps,hps,活動線程,測試軟件的數據吞吐量(TPS)上限,求出系統最大系統最大並發用戶,找出系統瓶頸點;
在平衡狀態下,並發數=RPS*響應時間;可參考https://help.aliyun.com/product/29260.html?spm=a2c4g.11186623.6.540.1d4411a4GB0RBd
負載測試模型有兩種:一種是用戶並發模式的負載[a.階梯加壓線程組 bzm - Concurrency Thread Group],一種是吞吐量模式的負載[a.持續的增加RPS,jp@gc - Throughput Shaping Timer,即每秒請求數;b.持續的增加TPS,bzm - Free-Form Arrivals Thread Group,即每秒事務數 / 每秒處理完成的業務 ]
jmeter中,線程數可以看做是虛擬並發用戶。那么我們想要穩定的增加負載,就需要持續不斷地增加並發數。通過並發數的不斷增加來考量各種性能指標的變化,找到拐點。
tps是用來衡量服務端的性能,是有上限的。也就是說我們持續增加的負載不可能超過服務端的吞吐量上限值;
如下圖,階梯加壓線程組(並發線程組),目標並發數(線程數)500,上升時間(線程啟動時間)60s,目標並發階梯數4,達到目標並發之后的持續時間30s;
可解釋為:預期500個用戶(線程)並發分4個階段,每隔15s增加125並發;增長到目標500並發,持續15+30s;
如下圖,通過rps定時器來控制我們的壓力引擎:0到30s 每秒請求數由1/s均勻的增加到500/s;第30s-70s,rps有由500/s均勻的增加到1000/s;以此觀察平均每秒的點擊數、吞吐量;
如下圖;希望60s內每秒處理完成的業務數從1均勻的增加到1000/s;以此觀察平均每秒的並發數;