Jmeter登入介面壓測
阿新 • • 發佈:2019-02-14
背景:最近線上由於併發導致規則顯示不對,故看看介面併發這塊後續怎麼做,以登入介面為例
1、介面中增加集合點Synchronizing Timer
集合點:用以同步虛擬使用者,以便恰好在同一時刻執行任務
1)新增–>定時器–>Synchronizing Timer
- Number of Simulated User to Group:
模擬使用者到組數 ,即設定組的使用者數,達到該使用者數後才進行介面的請求 - Timeout in milliseconds
超時(毫秒) ,設定超時時間,即組在超時時間後達不到設定的執行緒數時,會丟棄繼續請求
2、執行緒組併發
- 執行緒數:使用者併發數,設定多少虛擬使用者數在這裡也就是設定多少個執行緒數
- Ramp-Up Period(in seconds)準備時長:設定的虛擬使用者數需要多長時間全部啟動(如果執行緒數為100,準備時長為10,那麼需要10秒鐘啟動100個執行緒,也就是每秒鐘啟動10個執行緒)
- 迴圈次數:每個執行緒傳送請求的次數(如果執行緒數為20,迴圈次數為100,那麼每個執行緒傳送100次請求。總請求數為20*100=2000 。如果勾選了“永遠”,那麼所有執行緒會一直髮送請求,一到選擇停止執行指令碼)
- Delay Thread creation until needed:直到需要時延遲執行緒的建立
- 排程器
- 啟動時間:測試計劃什麼時候啟動,啟動延遲會覆蓋它。當啟動時間已過,手動執行指令碼時也當前時間也會覆蓋它(但啟動時間頁面顯示不會變)
- 結束時間:測試計劃什麼時候結束,持續時間會覆蓋它
- 持續時間(秒):測試計劃持續多長時間,會覆蓋結束時間
- 啟動延遲(秒):測試計劃延遲多長時間啟動,會覆蓋啟動時間
3、聚合報告
- Label :各個模擬測試的名稱
- #Samples :各個測試的樣本總數
- Average :每個請求的平均響應時間
- Median :中值,即50%請求的平均響應時間
- 90%Line :90%請求的響應時間
- Min :最小響應時間 ,Max :最大的響應時間
- Error% :錯誤響應的概率。即無法響應的概率
- ThroughPut :吞吐量 – 預設情況下表示每秒完成的請求數(Request per Second)
- KB/Sec :每秒從伺服器端接收到的資料量
4、叢集壓測情況
併發數量:2臺機器,每臺機器1s併發500個,併發總數為2*500=1000
第一次:
第二次:
從資料看:平均響應時間範圍分別是475和413,95%請求響應的時間分別是941和3086,伺服器每秒完成的請求數分別是108和129
併發數量:1臺機器,1s併發500
當前機器的CPU:
從單臺機器的併發資料看:多臺機器測試的資料都被平均化了,意義不大