【问题标题】:Jmeter remote testing hangs and throughput drops significantlyJmeter 远程测试挂起,吞吐量显着下降
【发布时间】:2018-04-25 12:31:55
【问题描述】:

我在谷歌云中设置了 Jmeter 4.0,其中一个 master 与 12 个 slave 对话以生成负载。对于非常少的线程,测试就像一个魅力,最后会生成报告。

但是,当我将每个从属主机的线程数增加到 200 以上时,测试似乎挂起,并且我在服务器端看不到很多请求。在加速期之后,我没有看到活动持续超过 5 分钟,之后它会慢慢流淌。我可以通过数据库计数进行验证 - 上升结束后速率下降了很多。在 30 分钟测试结束时,只有一些主机似乎关闭并优雅地结束测试,而其他主机则没有任何信息。 master 上的 java proc 即使在 2 小时后仍然运行,但什么也没做,即 0 活动。

有人发现远程测试和报告生成存在问题吗?

【问题讨论】:

  • 是的。我转向更大规模的替代方法。我在每台服务器上独立运行所有测试,收集报告,对报告进行合并,然后使用命令行工具生成报告。
  • 您的报告正确吗?就我而言,我注意到原始 csv 文件中有 0 个错误,但生成的报告有大多数 KO,没有意义

标签: performance jmeter load-testing distributed


【解决方案1】:

杰,

我建议通过以下步骤解决此问题:

  • 运行测试时检查主节点和从节点的 CPU/内存利用率
  • 在主节​​点和从节点中增加 JMeter.bat 文件中的堆大小
  • 使用以下命令在non-gui 模式下运行测试:
    jmeter -n -t script.jmx -R server1,server2,... -l Path\To\scriptresults.jtl

n 以非 gui 模式启动 Jmeter
t 定义 jmeter 文件
r 启动 JMeter 属性文件中定义的远程服务器
R 定义服务器列表并启动它们

【讨论】:

  • 我已经在使用谷歌云(阅读第一行),所有机器都有 8GB RAM 和 30GB 磁盘。机器几乎没有压力。我显然是在使用命令行来运行测试。它们在每个从属服务器的几个线程上运行良好,但不是 200 个。我正在使用 BlazeMeter 的并发线程组,想知道它是否会大规模冻结?
  • 还没有看到这些插件的大规模问题,它们就是为此而生的。我看到的问题是 Ravi 指出的,我需要更新我的内存参数。也许 -Xmx6G 在你的情况下。
猜你喜欢
  • 2013-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多