我正在运行 340 个并发用户来使用 jmeter 在服务器上进行负载测试。
但在大多数情况下,jmeter 挂断并且不会返回,即使我尝试关闭连接它也只是挂断。最终我不得不关闭应用程序。
知道如何检查持有请求的内容以及如何检查 jmeter 发送的请求并找到瓶颈。
在关闭线程时收到以下消息
Shutting down thread please be patient message
我正在运行 340 个并发用户来使用 jmeter 在服务器上进行负载测试。
但在大多数情况下,jmeter 挂断并且不会返回,即使我尝试关闭连接它也只是挂断。最终我不得不关闭应用程序。
知道如何检查持有请求的内容以及如何检查 jmeter 发送的请求并找到瓶颈。
在关闭线程时收到以下消息
Shutting down thread please be patient message
在过去的几年里,我已经多次遇到这种情况。在我的每种情况下(可能不在您的情况下),问题出在我发送流量的负载平衡 (F5) 上。基本上,一个名为 OneConnect 的属性将连接保持在时间等待状态,并且从不终止连接。
运行像 wireshark 这样的打包工具,看看请求发生了什么。
尝试分布式测试,340 个并发用户并不是什么大问题,但如果这样可以减轻您的痛苦,您仍然可以尝试。另请查看以下链接:
http://jmeter.apache.org/usermanual/best-practices.html#lean_mean
首先检查您的脚本是否适合一个用户。确保使用断言。
然后按照 jmeter 最佳实践运行您的测试:
没有gui
没有昂贵的听众
然后,您应该能够在 csv 输出中看到最长的请求并能够解决您的问题。
我之前在笔记本电脑(Core 2 Duo 1.5Ghz)上运行 JMeter 时也遇到过这个问题,它总是在处理过程中挂断。我试图在另一台比我的笔记本电脑更强大的电脑上运行,它现在可以顺利运行。因此,如果您的 pc 或笔记本电脑具有更好的规格,JMeter 将有效运行。
注意:建议在非 gui 模式下运行 JMeter。在 Linux 框中运行 JMeter 的示例:
$ ./jmeter -t test.jmx -n -l /Users/home/test.jtl
我有
一个或多个测试线程不会退出
因为防火墙阻止了一些请求。所以我不得不为所有被阻止的请求跳过防火墙超时......然后它返回了。
您收到此错误可能是因为 JVM 无法运行这么多线程。如果你看看你的终端,你会看到你得到的异常:
未捕获的异常 java.lang.OutOfMemoryError:无法创建新的本机线程。有关详细信息,请参阅日志文件。
您可以通过进行远程测试并运行多个集群而不是一个来解决此问题。