【发布时间】:2017-02-14 15:39:17
【问题描述】:
我在分布式模式下运行 jmeter 以测试 300 个用户 但也无法在 1 个用户的主侦听器上收到从属设备的任何响应。
重点:
- 主从都在同一个
subnet -
server.bat在从机上运行 - master 的属性文件已使用远程服务器更新
- 端口号更新为
1099
【问题讨论】:
标签: jmeter performance-testing jmeter-plugins
我在分布式模式下运行 jmeter 以测试 300 个用户 但也无法在 1 个用户的主侦听器上收到从属设备的任何响应。
重点:
subnet
server.bat 在从机上运行1099
【问题讨论】:
标签: jmeter performance-testing jmeter-plugins
查看远程引擎控制台输出,您应该会看到如下内容:
在主机 127.0.0.1 @ Tue Feb 14 18:29:51 CET 2017 开始测试 (1487093391662)
SLF4J:类路径包含多个 SLF4J 绑定。
SLF4J:在 [jar:file:/Users/johndoe/Applications/jmeter/lib/ApacheJMeter_slf4j_logkit.jar!/org/slf4j/impl/StaticLoggerBinder.class] 中找到绑定
SLF4J:在 [jar:file:/Users/glinius/Applications/jmeter/lib/tika-app-1.14.jar!/org/slf4j/impl/StaticLoggerBinder.class] 中找到绑定
SLF4J:请参阅 http://www.slf4j.org/codes.html#multiple_bindings 了解说明。
SLF4J:实际绑定的类型为 [org.apache.jmeter.logging.LogkitLoggerFactory]
在主机 127.0.0.1 @ Tue Feb 14 18:29:52 CET 2017 (1487093392404) 上完成测试 (1487093392404)
如果您没有看到突出显示的条目 - 您的 JMeter 配置有问题,请查看 jmeter-server.log 文件,它通常包含任何问题的原因。还要仔细检查以下材料以正确设置分布式测试:
如果您看到上述行但没有看到 响应,即在 View Results Tree 侦听器中 - 这是一个完全不同的故事。从远程引擎向 JMeter 主机发送结果有多种模式,默认情况下,JMeter 在 StrippedBatch 模式下运行,该模式会从成功的样本结果中删除数据,因此您什么都看不到。
如果您需要响应数据,您可以通过在 user.properties 文件中添加下一行来修改此“模式”设置:
mode=Standard
或使用其他方式 - 通过 -J 命令行参数传递属性,例如:
jmeter -Jmode=Standard -s ....
参考资料:
【讨论】:
如果您使用最新版本(jmeter 3.3)会更好。在这里,如果您运行 jmeter-server bat 文件,则无法进行分布式测试。因此使用命令提示符运行服务器文件可以解决您的问题。
在命令提示符下进入 jmeter bin 文件夹后,按以下命令在 Master 中运行:
jmeter-server -Djava.rmi.server.hostname=IP (IP of your system)
获取一个新的命令提示符并编写
jmeter -Djava.rmi.server.hostname=IP (IP of your system which entered above) your jmeter will be populated.
现在转到您的从机并打开命令提示符并运行如下命令
jmeter -Djava.rmi.select.hostname=IP (IP of slave system)
来到你的主人那里,以分布式的方式运行你的测试,现在你会得到你需要的结果。
【讨论】:
即使我正确配置了端口,我也遇到过类似的问题。该设置已使用 AWS Fargate 部署,问题与安全组有关(我忘记允许入口端口)
如果您在 AWS 上配置分布式 JMeter 设置,请确保将适当的安全组分配给主节点,以允许来自相应端口的入口流量。
最好检查一下master是否可以接收到来自定义的PORTs的流量。如果您不在 AWS 等云服务上,则可以检查防火墙设置。
【讨论】: