Jmeter 自動循環執行,逐步加壓


問題:
壓力測試時,手工一個個加壓效率較低

希望腳本循環執行,每次增加一點壓力,生成原始數據報告

測試結束后,人工根據測試報告數據去檢測壓力情況即可

解決方法:

一、腳本中進程組參數化

外部傳參用${__P(threadNum,1)}定義

見下圖

 

 

不止線程組參數,若接口中調用的其他參數也可以通過命令行指定

二、bat腳本和jmx腳本在同一目錄,bat腳本配置好加壓策略后,運行即可

set PRO_DIR=%~dp0
set loop=1
set rampUp=0
set durTime=60
::For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
::For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
for /f "delims=" %%a in ('wmic os get localdatetime /value') do set "%%a"
set time=%localdatetime:~0,14% 

cd "D:\apache-jmeter-5.1.1-ant-all plugins\apache-jmeter-5.1.1\bin"

for /l %%i in (10,10,10) do (
jmeter.bat -n -t %PRO_DIR%share.jmx -l %PRO_DIR%%time%_durTime#%durTime%_rampUp#%rampUp%_loop#%loop%_threadNum#%%i.jtl -JthreadNum=%%i -JrampUp=%rampUp% -JdurTime=%durTime% -Jloop=%loop%)
pause

bat腳本運行結束后,jmeter GUI界面添加任意的監聽器格式,打開上述jtl文檔后,即可查看報告

三、其他說明

命令行調用參數 -J 和 -G

1、格式:-J變量名=值 -G變量名=值

2、相同之處:設置jmeter屬性,例如線程數、循環次數、ramp up-time等

3、不同之處:-J是設置本地jmeter屬性;-G是設置server的jmeter屬性(只有設置了遠程機,開啟了遠程服務,才需要用到-G)

4、以設置本地jmeter屬性為例,先在windows下編輯腳本,將線程數、循環次數、ramp up-time等參數化

若要手動加壓,則直接命令行執行即可,參考如下

# 分布式調用
jmeter -n -t es.jmx -GthreadNum=1 -GdurTime=30 -Gstressmax=100 -l linuxjmx.jtl -Gpro="jmxmaster" -R 192.168.240.2,192.168.240.3 # 本地模式調用 jmeter -n -t es.jmx -JthreadNum=1 -JdurTime=30 -Jstressmax=100 -l linuxjmx.jtl -Jpro="jmxmaster"

 參考:

https://www.jianshu.com/p/03f4e864d94f


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM