首页 > 解决方案 > 无法连接到jmeter中的远程机器

问题描述

我正在尝试在远程机器上启动我的 jmeter 测试,因为我将在 .jmx 文件(大约 200 000 个线程)上运行批量用户。我有一台远程机器,我在其中下载了 jmeter 并将文件夹保存在桌面中。在命令提示符下我有一个命令

Desktop\apache-jmeter-4.0\bin>jmeter-server -n
Could not find ApacheJmeter_core.jar ...
... Trying JMETER_HOME=..
Found ApacheJMeter_core.jar
Created remote object: <Have a message saying the server is up and running>

现在在詹金斯我有一个命令

export JAVA_HOME=/java/1.8.0.65
bin//jmeter -n -R <Remote HOst IP> -t file.jmx -l result.jtl -e -o/resultfolder

当我触发詹金斯的工作时,我得到了

Configuring remote engine: <Remote machine IP>
Exception creating connection to: <Remote machine IP>; nested exception is: 
    java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
Failed to configure <Remote machine IP>
Stopping remote engines
Remote engines have been stopped
Error in NonGUIDriver java.lang.RuntimeException: Following remote engines could not be configured:<Remote machine IP>

我在远程机器上创建了一个 rmi 密钥库文件。

标签: jmeter

解决方案


您需要在所有机器create-rmi-keystore.sh上启动脚本并确保配置相同,这样 JMeter 主从之间的通信将是安全的。

更多信息:远程测试:设置 SSL

如果您不希望主从之间的通信安全 - 您可以将命令行修改为:

jmeter -Jserver.rmi.ssl.disable=true -n -R <Remote HOst IP> -t file.jmx -l result.jtl -e -o/resultfolder

或将下一行添加到所有主机上的user.properties文件以使更改永久生效:

server.rmi.ssl.disable=true

需要重新启动 JMeter 才能获取该属性。有关更多信息,请参阅配置 JMeter用户手册章节。


根据您的测试性质,1 个从站可能不足以模拟 200k 线程,因此请确保您遵循JMeter 负载测试“内存不足”故障的 9 个简单解决方案文章中的建议,并使用内置的 JMeter 引擎运行状况密切关注- 在 OS 工具或JMeter PerfMon 插件中,好像 JMeter 无法足够快地发送请求 - 即使您的应用程序没有过载,您也会获得更低的吞吐量/更高的响应时间。


推荐阅读