1. 程式人生 > >Jmeter登入介面壓測

Jmeter登入介面壓測

背景:最近線上由於併發導致規則顯示不對,故看看介面併發這塊後續怎麼做,以登入介面為例

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:
這裡寫圖片描述

從單臺機器的併發資料看:多臺機器測試的資料都被平均化了,意義不大