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


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

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

 

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

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

 

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

  1. 調整腳本,可以通過調整並發數、減少斷言,盡量不要使用監聽器來減少額外的內存開銷
  2. GPU模式下運行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