命令行動態設置壓力
一般來說jmeter運行壓力測試或者定時運行壓力測試的時候都是先在本地寫好腳本,然後上傳到服務器上用命令行運行,減少執行壓力測試時 GUI 佔用額外資源可能影響施壓性能,但是腳本上傳到服務器後需要改線程數,循環次數,持續時間要麼需要在本地改好再修改,或者直接服務器上修改,比較麻煩,JMeter 腳本支持使用 JMeter 屬性進行配置,JMeter 命令行支持使用 -J
參數動態指定 JMeter 屬性。 把這兩者結合起來,即可實現在命令行通過 -J
參數動態設置壓力大小。
首先腳本併發壓力設置改成動態參數
配置說明:
1. 併發數配置爲 ${__P(load.threadnum,1)},循環次數取消勾選 永遠,配置爲 ${__P(load.count,1)}。 未設置對應的 JMeter 屬性時,默認爲 1 ,滿足只執行 1 次以測試、調試腳本的需求。
2. 執行時長配置爲 ${__P(load.duration,60)},默認 5 分鐘)
運行命令:
jmeter -n -t test.jmx -l test.jtl
默認起一個線程並且只執行一次
加上J參數就可動態設置壓力參數了
jmeter -n -t test.jmx -l test.jtl -Jload.threadnum=50 -Jload.count=100000 -Jload.duration=300
起50個線程壓100000次,執行300s,同時配置了循環次數和執行時間時,有一個條件先滿足腳本即停止。
如果需要指定時長執行,需要將執行次數設置爲 永遠。在 JMeter 內部實現中,執行次數爲 -1
即表示 永遠。
jmeter -n -t test.jmx -l test.jtl -Jload.threadnum=50 -Jload.count=-1 -Jload.duration=300
即表示起50個線程執行300s