為什么要使用jmeter線程組插件呢?
jmeter自帶的線程組插件模擬的壓測場景非常有限,當需要模擬復雜壓測場景的時候,推薦大家使用jmeter線程組插件。
如何下載jmeter線程組插件呢?
早期版本的jmeter可以針對我們需要的擴展功能,直接提供下載地址進行下載,但最近的jmeter版本已經不支持直接下載插件包了,取而代之,需要下載一個幫助我們下載插件的下載插件管理工具。
插件管理工具的官網下載地址如下:
https://jmeter-plugins.org/downloads/all/
點擊“plugins-manager.jar”鏈接,等待插件管理jar包下載完畢后,拷貝到jmeter目錄下的\lib\ext下
如果jmeter此時處于啟動狀態,需要重啟jmeter,順帶說明下,jmeter的官網下載地址為http://navo.top/yIBzqe
在jmeter窗口中,依次單擊菜單項Option選項?-》Plugins?Manager,在彈出的插件下載窗口JMeter?Plugins?Manager中,
選中選項卡“Installed??Plugins”,
在搜索框中輸入“Custom?Thread?Groups”
勾選“Custom Thread Groups”,單擊【Apply Changes and Restart JMeter】,等待線程組插件下載完畢并重啟jmeter。
接下來是如何使用線程組插件?
常用的線程組插件為Ultimate Thread Group插件和Custom Thread Groups插件。下面分別介紹這兩個線程組插件。
01
Ultimate Thread Group插件
如何打開Ultimate Thread Group插件?
在jmeter窗口中,依次單擊菜單項:測試計劃?->右鍵?->添加?->線程組 ->jp@gc - Ultimate Thread Group,這樣就打開了Ultimate Thread Group插件。
如下線程組執行計劃表中的各個列的含義如下:
Start Threads Count:當前行啟動的線程總數
Initial Delay/sec:延時啟動當前行的線程,單位:秒
Startup Time/sec:啟動當前行所有線程達峰值所需時間,單位:秒
Hold Load For/sec:當前行線程達到峰值后的穩定加載時間,單位:秒Shutdown Time:停止當前行所有線程所需時間,單位:秒
使用Ultimate??Thread???Group可以實現模擬簡單并發場景、2^n步進場景、浪涌場景、鋸齒狀場景**。下面分別說明如何設置這些場景。
(1)簡單并發場景設置
單擊【Add Row】,在Start Threads Counts列設置100并發,緩增壓Startup Time列值為30sec完成,?持續運行Hold Load For列值為60秒,緩減壓Shutdown列值為10sec完成。
(2)浪涌場景設置**
浪涌場景設置特點:
第1次加載100并發,加載30sec,減壓10sec,持續60sec;
第2次加載200并發,延遲100sec(=30sec+10sec+60sec),加載30sec,減壓10sec,持續60sec;
第3次加載100并發,延遲200sec(=100sec+100sec),加載30sec,減壓10sec,持續60sec;
第4次加載200并發,延遲300sec(=200sec+100sec),加載30sec,減壓10sec,持續60sec
模擬一段時間內壓力高持續一段時間后,壓力更高持續一段時間后, 壓力稍微降下來這種向海浪一樣的業務系統壓力。
02
Custom Thread Groups插件
如何打開Custom Thread Groups插件?
在jmeter窗口中,依次單擊菜單項:測試計劃?-》添加?-》 線程組(用戶)-》jp@gc?-?Stepping Thread Group,這樣就打開了Custom Thread Groups插件。
如下線程組執行計劃參數,各參數的含義分別為:
this group will start * threads**:
加載多少線程,100
First,wait for * seconds:
等待多長時間開始加載線程(第一個線程延遲多少秒開始加載),0
Then start * threads**:
初次加載多少個線程,0
Next,add * threads every * seconds :
下次加載幾個線程,10,當前運行多長時間后再次加載線程
using ramp-up:
加載線程時間,5秒,也就是說10個線程在5秒內加載完畢
Then hold load for * seconds:
線程全部加載完成后運行多長時間,60秒
Finally,stop * threads every ... seconds**:
多長時間停止多少個線程,每1秒停止5個線程
Custom Thread Groups插件常用于模擬負載測試場景。