【问题标题】:jmeter hangs up and won't returnjmeter 挂断并且不会返回
【发布时间】:2012-10-06 09:32:30
【问题描述】:

我正在运行 340 个并发用户来使用 jmeter 在服务器上进行负载测试。

但在大多数情况下,jmeter 挂起并且不会返回,即使我尝试关闭连接它也只是挂起。最终我不得不关闭应用程序。

知道如何检查什么持有请求以及如何检查 jmeter 发送的请求并找到瓶颈。

在关闭线程时收到以下消息

Shutting down thread please be patient message  

【问题讨论】:

  • 请出示测试计划摘要

标签: httprequest jmeter load-testing performance-testing


【解决方案1】:

您收到此错误可能是因为 JVM 无法运行这么多线程。如果你看看你的终端,你会看到你得到的异常:

未捕获的异常 java.lang.OutOfMemoryError:无法创建新的本地线程。有关详细信息,请参阅日志文件。

您可以通过 Remote Testing 解决此问题,并运行多个集群,而不是一个。

【讨论】:

    【解决方案2】:

    我有

    一个或多个测试线程不会退出

    因为防火墙阻止了一些请求。所以我不得不为所有被阻止的请求跳过防火墙超时......然后它返回了。

    【讨论】:

      【解决方案3】:

      我之前在笔记本电脑(Core 2 Duo 1.5Ghz)上运行 JMeter 时也遇到过这个问题,它总是在处理过程中挂起。我试图在另一台比我的笔记本电脑更强大的电脑上运行,它现在可以顺利运行。因此,如果您的 pc 或笔记本电脑具有更好的规格,JMeter 将有效地运行。

      注意:建议在非 gui 模式下运行 JMeter。 在 Linux 中运行 JMeter 的示例:

      $ ./jmeter -t test.jmx -n -l /Users/home/test.jtl
      

      【讨论】:

        【解决方案4】:

        在过去的几年里,我已经多次遇到这种情况。在我的每种情况下(可能不在您的情况下),问题出在我发送流量的负载平衡 (F5) 上。基本上,一个名为 OneConnect 的属性将连接保持在时间等待状态,并且永远不会终止连接。

        运行像 wireshark 这样的打包工具,看看请求发生了什么。

        【讨论】:

          【解决方案5】:

          尝试分布式测试,340 个并发用户并不是什么大问题,但如果这样可以减轻您的痛苦,您仍然可以尝试。另请查看以下链接:

          http://jmeter.apache.org/usermanual/best-practices.html#lean_mean

          【讨论】:

            【解决方案6】:

            首先检查您的脚本是否适合一个用户。 确保使用断言。

            然后按照 jmeter 最佳实践运行您的测试:

            • 没有图形界面

            • 没有昂贵的听众

            然后您应该能够在 csv 输出中看到最长的请求并能够解决您的问题。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-03-23
              • 1970-01-01
              • 2014-11-11
              • 2016-08-03
              • 2018-07-20
              • 1970-01-01
              • 2014-03-06
              • 1970-01-01
              相关资源
              最近更新 更多