Jmeter 用戶手冊
名詞解釋:
RPS:每秒請求數-每秒向服務器發送多少請求數(一個場景,系統面臨多大的壓力)
TPS:每秒事務數-每秒能夠處理多少請求/事務數性能評價標準(其中的一個核心指標,吞吐量)
RT:響應時間,指的是業務從客戶端發起到客戶端接收時間
線程組:線程-虛擬用戶(VU),不同場景不同線程組
循環:控制線程任務執行的次數
任務:線程組內部的邏輯步驟
壓測場景
-
具體場景:比如壓測目標:確認系統能否達到 20 TPS,持續壓測 10 s
前提:模擬出 RPS 達到 20 RPS -
第一種錯誤方案:線程數:1 ,Ramp-UP:1,循環:20?
1、壓測時間-太短,不準確
2、一個線程循環 20 次,并不是模擬 20 RPS
1個線程1秒可能發起幾百次請求,任務執行的速度很快–8 ms–1000ms/8=125 RPS -
第二種錯誤方案:線程數:20 ,Ramp-UP:1,循環:永遠,持續時間 10s?
1、RPS 遠遠超出預料范圍(1600 RPS),服務器是否能承受這么大的壓力?
2、模擬壓測場景脫離實際,如果服務器宕機,則壓測結果沒有任何參考意義!
如何調整?- 第一種調整方案:調整線程數量,比如將線程數調整為 1 ,但這種方案仍舊達不到目標
- 第二種調整方案:調整任務執行的頻率:比如:加定時器-常數吞吐量定時器,每分鐘樣本量 60個,基于
只有此線程
,這樣設置后,每秒執行一次線程任務,即 20 個請求
-
第三種錯誤方案:線程數:20 ,Ramp-UP:1,循環:永遠,持續時間 10s,常數吞吐量定時器(每分鐘樣本量 60 個)–【巨大 BUG】
-
因為并發量越大,響應時間越慢,可能超過 1 秒,導致壓測結果不準確
-
場景細化:20 個線程工作(響應時間需要 3 s)
- 第一秒:20 個線程發送 http 請求—RPS:20
- 第二秒:0 個線程發送 http 請求—RPS:0
- 第三秒:0 個線程發送 http 請求—RPS:0
- 第四秒:20 個線程發送 http 請求—RPS:20
-
最后正確調整方案:每分鐘樣本量 1200 個,基于
所有活動線程
-
場景細化:20 個線程工作(響應時間需要 3 s)
- 第一秒:0-20 編號線程發送 http 請求—RPS:20
- 第二秒:20-40 編號線程發送 http 請求—RPS:20
- 第三秒:40-60 編號線程發送 http 請求—RPS:20
- 第四秒:0-20 編號線程發送 http 請求—RPS:20
-