Jmeter分布式測試的各種坑之jmeter-server修改ip


第一坑:啟動壓力機的時候,直接./jmeter-server,會報如下錯誤  

 

 

           錯誤原因:127.0.0.1是本機, 一個回路地址, 沒有指定地址

          正確的啟動方式:啟動命令加一個參數, IP地址寫壓力機對應的地址

          ./jmeter-server   -D java.rmi.server.hostname=118.24.178.224

     

 

    

 

第二坑:

遇到的問題:

       啟動remote測試后,Agent 機器 收到任務,且控制台顯示:”Starting the test on host 192.168.1.132:1099 @ ***“,說明控制機分派上agent機上的測試成功,但是 一直卡在這里不動了,控制機一直沒有顯示 任務執行狀況以及收到測試結果(任務一直不結束,卡住了)。

解決方法:

(1)telnet 192.168.1.132 1099  是通的,說明 控制機 連agent 機是OK了,問題排除。

(2)查看 agent機上 c:\apache-jmeter-2.13\bin 中 jmeter-server.log 日志文件,發現有錯誤: jmeter.samplers.RemoteListenerWrapper: testStarted(host) java.rmi.ConnectException: Connection refused to host: 169.254.123.36; nested exception is: 
java.net.ConnectException: Connection timed out: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at $Proxy1.testStarted(Unknown Source)
at org.apache.jmeter.samplers.RemoteListenerWrapper.testStarted(RemoteListenerWrapper.java:85)
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:216)
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:336)
at java.lang.Thread.run(Unknown Source)

推斷原因是 agent 連不了控制機,被拒絕,連接超時。

問題產生了: 為何 控制機 IP變成了 169.254.123.36, IP不是 192.168.1.117 嗎?(問題的根源在於:我安裝的VMware的一個windows虛擬機的網絡設置成了“Bridge 並勾選 Replicate physical network IP address所以在controller機器的網絡路由設置中,顯示的網絡連接為:VirtualBox Host-Oly Network,在這個連接上右鍵,選擇“Disable“,禁用掉,然后重新運行jmeter-server.bat,在窗口中發現IP已經正確了,這樣問題就解決了) 估計問題就在這里。

(3) 果斷換了一台新安裝的 windows 機器作為控制機,然后 重新試了一下,沒有問題。在控制機運行測試,agent機器會收到測試“Starting the test on host 192.168.1.132:1099 @ **”,執行結束后,agent機上有日志“Finished the test on host 192.168.1.132:1099 @ ***”,控制機上也有相應的測試結果,問題解決。

總結: 問題還是 連接的問題,如果控制機和agent機連接有問題,就會有此類問題,所以建議 控制機和測試機都是干凈的機器,這樣避免 安裝了一些軟件,修改了 C:\Windows\System32\drivers\etc中HOST文件,等問題。

這個問題還有一種情況:控制機和負載機在不同的局域網,也會導致這個問題,所以壓力機和控制機盡量在同一個局域網內

測試中發現的問題:

(1) 發現用一台 client 200個用戶測試和 用分布式 2個agent 各自100個用戶,測試出來的結果 差別太大,不知道為什么?

(2)  發現用一台 client 200個用戶測試和 用分布式 2個agent 各自200個用戶,測試出來的結果 結果基本是一致的,不知道為什么?

如果真是這樣的話,那么jmeter分布式測試出來的結果太不科學了,我們到底相信那個? 問題持續研究中......

這兩個問題解決方案:

把controller機器,2個agent機器的時間設置一致,再次測試,問題基本解決了。

jmeter相關問題可以多看日志:

 controller的日志看bin目錄下面的jmeter.log

 壓力機的日志看bin目錄下面的jmeter-server.log
---------------------
作者:蝙蝠X
來源:CSDN
原文:https://blog.csdn.net/test_xhz/article/details/81877455
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM