在自己配置分布式压测过程中遇到的一些坑,然而百度都是零散的,花了很多时间,记录一下
坑1:
在启动jmeter-server.bat时出现如下图错误
java.io.FileNotFoundException:rmi_keystore.jks(系统找不到指定文件)
系统找不到指定文件
这个问题的解决思路如下:
在jmeter-properties配置文件中(meter-properties文件在安装目录的bin下)找到:
#server.rmi.ssl.disable=false
改为:
server.rmi.ssl.disable=true
坑2:
具体的报错信息忘记截图了,大概意思就是没有指定固定的端口号,导致无法连接肉鸡,配置如下:
找到jmeter-properties配置文件中这三个参数并配置他的端口号(要和remote_hosts配置的一样)
server_port=8888
server.rmi.port=8888
server.rmi.localport=8888
坑3:
报错如下
jmeter.samplers.RemoteTestListenerWrapper: java.rmi.ConnectException: Connection refused to host: xxxxx; nested exception is
发现启动的jmeter-server.bat之后DOS界面显示的ip地址和remote_hosts配置的不一致:导致控制机无法连接肉鸡
ip不一致
- 修改jmeter的启动ip如下:
Jmeter修改自身启动IP
分布式测试时,master机器有可能遇到多块网卡,然后IP会变为其它网段的IP,故而连接不上其它机器,或返回不了其它机器的执行结果。
这时个就应该修改一下Jmeter启动时使用的IP了。
在jmeter.bat中查找set ARGS这一句。
然后在其上边一行添加
set rmi_host=-Djava.rmi.server.hostname=你要更改的IP
然后在set ARGS这行最后加上空格%rmi_host%如图:
jmeter.bat
之后重启即可
jmeter分布式报错java.rmi.ConnectException: Connection refused to host:xxx的解决办法:
- 1,原因分析:
Jmeter采用了rmi进行远程调用,在开启RMI服务时,如果服务端有多个网卡,它只是使用其中任意一个网卡,默认情况下,导致jmeter的controller机器和agent机器不在同一个网段内,无法互通,导致失败
- 2,解决方法:
我们要在多网卡的服务器上开启RMI服务的话必须指定IP,使他们能够在同一个网段内。
需要以下几步(假定所有机器都在10.120.11.*网段,agent服务器为linux,controller服务器为windows):
- 修改agent服务器,指定agent机器的IP
修改jmeter-server文件
vi jmeter-server
修改RMI_HOST_DEF=-Djava.rmi.server.hostname=10.120.11.82- 修改server服务器,指定server机器的IP
修改jmeter.bat文件
新增set rmi_host=-Djava.rmi.server.hostname=10.120.11.214
修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%
网友评论