先说一下问题,控制机访问压力机都是可以的,但是压力机访问控制机就不行了报:2019/04/13 16:05:49 ERROR - jmeter.samplers.RemoteTestListenerWrapper: java.rmi.ConnectException: Connection refused to host: 192.168.83.1; nested exception is: 我ping了一下发现IPping不通,这时查看发现他们不再一个网段下,怎样看是不是在一个网段下,就是看看各自是不是连得是同一个网络,互相访问的是同一个网络下的ip不是别的,如下图:
但是启动时他的ip是我装得虚拟机上的一个ip如下图:192.168.83.1
所以肯定访问不通
解决办法:修改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-server.bat查看IP是否变成你写的IP,如图:
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):
a、 修改agent服务器,指定agent机器的IP
修改jmeter-server文件
vi jmeter-server
修改RMI_HOST_DEF=-Djava.rmi.server.hostname=10.120.11.82
b、 修改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%
修改完成后,重新启动即