JMeter - 线程用户在完成循环并且安排时间后几分钟后就消失了

时间:2015-04-29 10:42:04

标签: jmeter

我有一个包含五个线程组的测试计划,每个都有10个线程用户,我想用50个并发用户运行这个测试计划1小时,因为我理解线程用户的数量应保持在50,但不知何故线程用户在几分钟后继续减少,并以0线程用户结束,下面是我的配置,有人可以帮忙看看,提前谢谢。

enter image description here

同样在jemter命令中,我收到以下错误:

enter image description here

2 个答案:

答案 0 :(得分:3)

以上错误显示您有OOM,即Out Of Memory错误。 你没有JMeter分配的堆空间。

要解决此问题,您可以尝试下面的内容,

  1. 使用此处提供的提示(使用非gui模式,避免沉重的记者等) http://blazemeter.com/blog/jmeter-performance-and-tuning-tips

  2. 如果负载测试确实需要大量的堆空间,请尝试增加JMeter的堆空间。

  3. 我建议按顺序提出建议。

答案 1 :(得分:0)

您可以尝试使用分布式设置进行负载测试,这样您就可以在多台计算机中分配负载

快速解决方法

1在非GUI模式下使用JMeter

通过命令行或终端查找JMeter的安装位置 将'bin'目录设置为当前目录 运行'jmeter -n -t .jmx 就是这样,当您的测试完成后,您可以进行分析。您可能有兴趣了解测试在命令行/终端执行期间的执行情况(而不是看到黑色窗口),只需在JMeter属性文件中取消注释以下内容(删除'#'):

summariser.name =摘要

summariser.interval = 180

summariser.out =真

2删除或至少禁用您不需要的侦听器。通常,诸如“查看结果树”之类的监听器会消耗大量内存,这完全取决于它收集的信息量。

只需再看一下您的脚本并删除您不需要的监听器。 3增加JMeter堆内存

在资源管理器中找到安装JMeter的位置 打开bin目录。 找到'JMeter.bat'文件并使用文本编辑器打开它 找到以下'set HEAP' 您可以将此HEAP值设置为您喜欢的任何值,在此示例中,我已经说过从开始和整个测试运行中分配2 GB的内存:'set HEAP = -Xms2048m -Xmx2048m'