在jmeter中,提到m並發,你可能馬上想到線程數設置為m;
調節服務器壓力的是rps,即每秒請求數;rps由線程數,循環次數,ramp-up time調節;
問題:
有一個頁面,需要測試一下最大支持多少用戶並發?
此時需計算的是最大用戶並發數,強調的是同時操作,也可以理解為同時發起請求;
針對這個問題,我們可以通過rps定時器或階梯加壓線程組測試每秒最大的請求數;
在平衡狀態下,並發數=RPS*響應時間;可參考https://help.aliyun.com/product/29260.html?spm=a2c4g.11186623.6.540.1d4411a4GB0RBd
a)使用jp@gc - Throughput Shaping Timer(吞吐量成形計時器,調節rps的定時器);
設置線程組中線程數為50,ramp-up時間為1s,永遠循環;同時在請求下面加rps定時間,rps由1增加到400/s;測試最終運行時間取 線程組運行時間 與 定時器時間的最小值;
查看運行后的結果,發現HPS增長到140之后,穩定了十幾秒,隨后HPS平均在100左右;
該HTTP請求是本人阿里雲服務器上部署的項目;
TPS上升到48/s穩定了十幾秒,然后TPS平均在30/s左右;
響應時間基本在3s以內;
穩定情況下,最大rps約為140/s,響應時間為1.6s,最大並發=140*1.6=224;可以理解為只要啟動224個線程就可以在1s內滿足140/s的rps壓力值;
線程組中線程數改為100,其它保存不變;rps和tps數值大致也是一樣的;
b)使用階梯加壓線程組
上述得出結論, tps=48/s,最大並發=rps*rt=140*1.6=224;可以理解為只要啟動224個線程就可以在1s內滿足140/s的rps壓力值;
下面可以來驗證一下,線程組的線程數設置為224,其它值可隨意,(如,設置定時60s,循環次數設置為100,因為並發數=rps*響應時間 是在平衡狀態下得出的結論,所以運行時間不能太短)
==================================可更改請求內容,簡單判斷是網絡問題還是服務器======================