使用Jmeter做效能測試
使用Jmeter工具做效能測試
JMeter執行原理
JMerer通過執行緒組來驅動多個(也可以理解為LR⼯具⾥⾯的虛擬⽤戶)運⾏測試指令碼對⽬標伺服器發起⼤量的⽹絡請求,在每個客戶端上可以運⾏多個執行緒組,也就是說⼀個測試計劃⾥⾯可以包含N個執行緒組。
執行緒數
⼀個執行緒可以理解為對應模擬⼀個⽤戶,所以執行緒數越多,那麼也就認為可以模擬的⽤戶數越多。
Ramp-Up時間(秒)
該屬性指的是所有執行緒從啟動到開始運⾏的時間間隔,單位是秒,也就是說所有執行緒在多⻓時間內開始執⾏,如線 程數設定50,設定的時間為5秒,那麼計算的公式為:
每秒執⾏執行緒數=執行緒數/Ramp-Up
具體如: 如設定的執行緒數為50,Ramp-up的時間為10,那麼也就是說開啟執⾏後,每秒會啟動5個執行緒,如果Ramp-Up設定為0,那麼開始執⾏後,50個執行緒會⽴刻啟動。
首先在效能測試下新增一個HTTP請求(對百度傳送請求),填寫百度地址(有多少個執行緒數就傳送多少個請求)
1.線上程組下新增一個監聽器下的檢視結果樹
檢視結果是在監聽器中,它的元件具體如下:
a.檢視結果樹:檢視傳送網路請求後返回的資訊
b.響應時間圖:傳送N次請求過程中響應時間的趨勢圖
c.聚合報告:裡面可以看到吞吐量,最小響應時間,最大響應時間,平均響應時間 ,中位數,90,95,99
在檢視結果樹當中點選開始按鈕,點選任意一個請求檢視響應資料,再將text更改成Browser或HTML,就可以看見百度的首頁。
排程器:
持續時間:指的是所有的任務執行完成後,任務再接著執行N秒,目的是驗證被測服務的穩定性
例如以下訪問百度,100個使用者理想效果是10秒執行完,但由於網路等情況實際上10秒內沒有執行完,那麼我們給它持續上30秒,可以看到右上角實際執行完的時間是12秒。
5.新增PerfMon外掛:
1、我們在效能測試的過程中,需要收集被測目標伺服器的終端的系統資源
A、在目標伺服器部署serveragent(功能就是收集資料)
B、在JMeter連線serveragent,把收集的資料展示出來
沒有PerfMon外掛需要在選項中安裝外掛,再新增
往jmeter裡安裝外掛的外掛
將jmeter-plugins-perfmon-2.1.jar外掛放到lib,ext目錄下
安裝外掛
1、
2、
ServeAgent的下載和使用
通過ServeAgent收集系統資源的資料,一般是放在被測的目標伺服器上,例如我們現在測的是百度,將它放在百度的伺服器上不現實,所以放在本地
下載ServeAgent並解壓,我存放在D:\testDev\ServerAgent-2.2.1目錄下,點選startAgent.bat啟動
傳送請求之後開啟PerfMon就可以看見監聽到的資料(CPU和記憶體、磁碟、網路等)
Grafana地址:http://47.95.142.233:3000/d/Z6Jz03i7k/apache-jmeter-dashboard?orgId=1&refresh=5s
輸入賬戶和密碼登入,在Jmeter中將埠地址修改,將application name 修改為自己的名字,再開啟Grafana,在application處選擇自己的名字就可以看見自己的資料