1.簡介
在性能測試中,有時需要模擬一種實際生產中經常出現的情況,即:從某個值開始不斷增加壓力,直至達到某個值,然后持續運行一段時間,然后繼續加壓達到某個值持續運行,如此循環直到達到預期的峰值,運行一段時間。
在jmeter中,有這樣一個插件,可以幫我們實現這個功能,這個插件就是:Stepping Thread Group ,也就是常說的步長插件。
2.測試准備
Stepping Thread Group是jmeter插件的一種,其作用就是模擬實際的生產情況,不斷對服務器施加壓力,直至到某個值,然后持續運行一段時間。
1.首先給你的JMeter安裝一個插件管理器,下載地址:https://jmeter-plugins.org/install/Install/ 具體步驟:
(1)在地址欄輸入:https://jmeter-plugins.org/downloads/all/
(2)下載放到jmeter解壓縮文件的\lib\ext目錄下,
(3)然后重新啟動打開jmeter
2.如果覺得下載頁面慢或者不想下載的可以關注宏哥的公眾號后,輸入:插件管理,獲取這個插件plugin manager。
3.在Available Plugins選項中輸入jpgc后空格,就可以搜索出jpgc插件,然后勾選jpgc - Standard Set后,點擊Apply Changes and Restart JMeter后等待插件安裝完成。
4.如果下載失敗,可以在這個地址下載,下載地址:https://jmeter-plugins.org/downloads/old/
下載界面如下:
5.下載后需要解壓,然后將JMeterPlugins-Standard.jar包放在jmeter安裝目錄的jmeter-3.0\lib\ext路徑下,重新啟動jemter即可。
3.步長插件介紹
1.新建一個jpgc的Thread Group點擊add-Thread,如下圖所示:
2.選jpgc stepping group,如下圖所示:
3.設置Step或者步長,然后看下面曲線圖,如下圖所示:
解釋下參數設置:
① 表示這個線程會最大用戶是100個
② 等待10秒,這個時候還沒有用戶進入
③ 10個用戶開始
④ 和 ⑤ 這里一起理解,每10秒進10個用戶
⑥ ramp-up,這里設置0,例如40個用戶直接添加到50個用戶,沒有使用曲線添加。
⑦ 持續壓測60秒,一分鍾
⑧ 和 ⑨,退用戶,每10秒退出10個用戶。
⑩ 上面各種設置的圖形表示
根據下面的圖形,對照上面的各個輸入框的設置,就應該很好理解這個壓力負載場景。
4.實例實戰
1. 在上邊的基礎上,添加一個HTTP Request,百度舉例,如下圖所示:
2. 添加三種類型報告,如下圖
3. 點擊運行測試,等待4分十秒,看看結果這里我們主要看看AggregateGraph這個報告。勾選以下紅圈的,如下圖所示:
4.點擊 DisplayGraph,如下圖所示:
5.小結
什么是實際的性能測試
1)有思考時間,用戶在做不同操作之間有時間停頓,或者延遲,思考時間就是模擬用戶的操作過程中的停頓的間。
2)步伐,速度:主要包括,大量用戶進來的時間和退出時間,控制迭代之間的時間,例如,前面文章介紹的一個現場用戶20個,設置5秒內全部進入,就是這樣的情況。
3)壓力測試時間:加入我需要500個人同時測試30分鍾,這里持續30分鍾就是壓測時間。
所以,真實的性能測試場景是,例如,一開始有不部分人已經進入頁面,這里加入5個用戶,然后我需要持續添加用戶進入,例如10秒進入2個用戶,一共需要進入500個人,然后保持500個用戶,做同樣操作30分鍾,最后開始,陸續退出用戶,例如10秒退5個用戶。如果這個過程,用坐標和曲線表示,剛好就是一個梯形的圖形。如果,你使用過Loadrunner的壓力負載場景設計,你就很清楚這個過程。像下面這個圖片
解釋一下這個場景,開始從0開始進入用戶,一分鍾就進入了10個,持續時間是5分鍾,第六分鍾開始退出用戶,這里30秒內全部退出10個用戶。
好了。今天關於這個經常在性能測試中用到的插件宏哥就分享和講解到這里,給大家提供一種思路和方法,希望對各位有所幫助。
您的肯定就是我進步的動力。如果你感覺還不錯,就請鼓勵一下吧!記得隨手點波 推薦 不要忘記哦!!!
別忘了點 推薦 留下您來過的痕跡