為什么Jmeter 運行時到達持續時間不停止?


終極解決方法:升級jmeter為最新版本即可解決!

在做並發測試時,遇到了設置持續時間,但是到達了持續時間后,一直不停止;線程組設置的信息如下:

 

從圖中線程組設置可以看出Jmeter需要開啟100個線程並且在300s內持續性的給后端服務器發請求,運行后從右上角看到,已經運行超過了300s,但是線程一直沒有停止。

從jemeter.log 日志查看不停的打印Stopping because end time detected by thread

 

從網上查資料得知是因為某些線程被阻塞了,出現線程阻塞的原因是JMeter的所申請的內存不足導致的,解決該問題有幾種方法:

  1. 調整腳本,可以通過調整並發數、減少斷言,盡量不要使用監聽器來減少額外的內存開銷
  2. 非GUI模式下運行Jmeter腳本
  3. 通過調整jmeter.bat 中內存參數

默認配置是:set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=512m

根據實際情況進行修改heap 參數,我的是改成了

set HEAP=-Xms512m -Xmx1024m

注意:“Xms”(代表初始化堆棧內存的大小),“Xmx(代表最大內存池可以分配的大小)”

修改后,重啟Jmeter。

 

 

可通過jconsole.exe驗證jmeter內存設置是否成功

 

 

 

 

 

 

 

 


免責聲明!

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



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