JMeter - 线程用户在设置永远循环和安排时间后几分钟后就消失了

JMeter - Thread Users gone after a few mins when set loop forever and schedule time

我有一个有五个线程组的测试计划,每个线程组有 10 个线程用户,我想 运行 这个测试计划 1 小时,有 50 个并发用户,据我了解线程用户的数量应该保持在50,但不知何故几分钟后线程用户不断减少,并以0线程用户结束,以下是我的配置,谁能帮忙看一下,在此先感谢。

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

以上错误表明您遇到了 OOM,即内存不足错误。 你 运行 超出了 JMeter 分配的堆 space.

要解决此问题,您可以尝试以下操作,

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

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

我建议按顺序遵循建议。

您可以尝试使用分布式设置进行负载测试,这样您就可以将负载分布在多台机器上

快速修复

1 在非GUI模式下使用JMeter

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

summariser.name=摘要

summariser.interval=180

summariser.out=真

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

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

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