線程組參數介紹
線程數:虛擬用戶數量
Ramp_Up時間:設置一個時間,表示在這個時間內所有虛擬用戶開始發送請求
循環次數:永遠,表示一直循環,不手動停止的話就會一直請求
不勾選輸入時間的話表示虛擬用戶數量單個請求次數 例:線程數為10,循環次數為10,則請求100次
same user on each iteration:每次迭代使用相同的線程
延遲創建線程直到需要:如果勾選了此選項,那么線程只會在合適的需要用到的時候創建
調度器:
-
一般和循環次數永遠配合使用,設置線程組一直循環的持續時間,單位是秒
-
啟動延時:設置線程啟動延時時間,單位是秒
負載測試場景設計
環境准備
-
准備插件:
下載 jmeter-plugins-manager-1.3.jar,插件需FQ下載,將下載好的插件放入 jmeter\lib\ext 目錄下
-
重啟 jmeter 客戶端
-
打開 jmeter → 點擊選項 查看最后一個選項,顯示 Plugins Manager表示插件安裝成功,打開此選項
-
此時就是插件管理的界面,將選項切換到 Available Plugins,滑到最下面,勾選插件 jgpc - Standard Set, 點擊右下角的Apply Changes and Restart JMeter 安裝並重啟 jmeter
注意:由於網絡原因可能會有安裝失敗的情況,只能重復安裝
下載成功之后添加線程組中可以看到多了很多可用的線程組。表示jar包成功被下載
jp@gc - Stepping Thread Group(deprecated) 參數說明
This group will start () threads:填入線程數量,表示當前啟動的線程數
First,wait for () seconds:填入啟動延時時間,單位為秒
Then start () threads:一開始啟動多少線程
Next,add () threads every () seconds using ramp-up () seconds:例:填入10,30,5
表示每5秒增加10個線程數,添加完后,持續運行30秒的時間
Then hold load for ():添加完所有線程數之后持續運行時間
Finally,stop () threads every () seconds:例:5,1 表示每秒停止5個線程數
監聽器介紹
jp@gc - Active Threads Over Time:活躍的線程數,可以根據時間點查看啟動線程數量
jp@gc - Response Times Over Time:可根據當前線程查看請求的響應時間
jp@gc - Transactions per Second:每秒處理事務數(TPS)
遞增場景設計
將要測試的接口線程組添加到測試計划下,在測試計划下添加一個jp@gc - Stepping Thread Group(deprecated) 階梯式線程組
將需要測試的接口放在測試計划下,添加 jp@gc - Active Threads Over Time , jp@gc - Response Times Over Time , jp@gc - Transactions per Second 監聽器
波浪型場景設計
將要測試的接口線程組添加到測試計划下,在測試計划下添加一個jp@gc - Ultimate Thread Group波浪形線程組
參數說明:
Start Threads Count :啟動最大線程數
Intital Delay,sec:初始化延遲時間
Startup Time,sec:多少時間內啟動完所有線程
Hold Load For,sec:啟動完所有線程之后持續運行時間
Shutdown Time:停止所有線程時間
服務器資源監控
環境准備
將 ServerAgent - 2.2.3.zip 壓縮包上傳至被測服務器,使用unzip ServeAgent - 2.2.3解壓壓縮包
cd 進入解壓后文件夾
啟動ServeAgent:ls命令后,可查看到有startAgent.sh文件,運行此文件./startAgent.sh
運行完成后可看到啟動的UDP和TCP端口及啟動成功命令行,表示啟動成功
**注意點 **:不能關閉服務器命令窗口
jmeter配置
在需要監控的線程組下面添加監聽器:jp@gc - PerfMon Metrics Collector
IP地址可在取樣器中直接復制,端口號可在被測服務器啟動ServeAgent后查看端口,默認端口4444
注意點:有些服務器4444端口不對外開放,所以需要修改端口號
關閉UDP服務,改變TCP端口號為3231:./startAgent.sh --udp-port 0 --tcp-port 3231
另外打開一個連接終端,查看服務器的防火牆:systemctl status firewalld 或firewall-cmd --state
方法一: 關閉防火牆:systemctl stop firewalld
方法二:在防火牆上開通一個端口(需要找運維人員),應用場景為公司不能直接關閉防火牆
防火牆添加開放端口:firewall-cmd--permanent --add-port=3123/tcp 端口號可自己更改
防火牆刪除端口:firewall-cmd--permanent --remove-port=3123/tcp
查看是否能連接服務器:在本地CMD窗口中輸入 telnet IP地址 端口號 例:192.168.5.5 3231,服務器中可以查看到連接信息
可添加多個行查看系統不同的資源,也可添加多個監聽器查看不同的資源