为什么Jmeter 运行时时到达持续时间不停止?

上一篇 / 下一篇  2022-08-24 11:29:55 / 个人分类:测试

在做并发测试时,遇到了设置持续时间,但是到达了持续时间后,一直不停止;线程组设置的信息如下:

1.png

从图中线程组设置可以看出Jmeter需要开启100个线程并且在300s内持续性的给后端服务器发请求,运行后从右上角看到,已经运行超过了300s,但是线程一直没有停止。

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

2.png

从网上查资料得知是因为某些线程被阻塞了,出现线程阻塞的原因是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内存设置是否成功

3.png

4.png

5.png


TAG:

 

评分:0

我来说两句

Open Toolbar