先說一下問題,控制機訪問壓力機都是可以的,但是壓力機訪問控制機就不行了報: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%
修改完成后,重新啟動即