Jmeter 分佈式測試完整實踐過程(部署成功)

單臺壓測機通常會遇到客戶端瓶頸,受制於客戶機的性能。可能由於網絡帶寬,CPU,內存的限制不能給到服務器足夠的壓力,這個時候你就需要用到分佈式方案來解決客戶機的瓶頸,壓測的結果也會更加接近於真實情況。

更多學習資料:https://edu.csdn.net/course/detail/25768

更多學習資料:https://edu.csdn.net/course/detail/22948

https://edu.csdn.net/course/detail/28103

jmeter 分佈式壓測原理:

 

分佈式壓測分爲兩塊: 控制器(controller)和代理(agent)

 

1、controller 負責把腳本分發給 agent執行。

2、agent 負責執行腳本,產生對服務器的實際壓力,agent 運行 non GUI model,點擊 jmeter-server.bat 即可。agent 執行腳本後,把壓測的結果發送給 controller。

3、controller 作爲控制器不加入實際測試(也可以加入),只負責發送和收集 agent 信息。

 

 

配置 agent

1. 我的jmeter版本是 apache-jmeter-5.1,在 agent 機器上需要修改配置 jmeter.properties,修改以下兩處配置:1)找到 server_port 去掉 #,設置端口 。 2)找到server.rmi.ssl.disable=false 改成 true

2. 雙擊 jmeter-server.bat ,這個 ip 有用,待會要配到 controller 機器上的配置文件裏(若報錯'jmeter' is not recognized,需要配置 jmeter 環境變量)(啓動中間提示的IP 地址必須是內網的IP 地址,如果是外網IP 地址需要關閉虛擬網卡)

 

配置 controller

1. 打開 controller 的配置文件 jmeter.properties 找到 remote_hosts ,把剛纔第二個步驟的 ip 配進去

打開 controller 的配置文件 jmeter.properties ,找到 server.rmi.ssl.disable=false 改成 true (此處 controller 也需要修改,不然會報錯 )

 

 

更多學習資料:https://edu.csdn.net/course/detail/25768

更多學習資料:https://edu.csdn.net/course/detail/22948

https://edu.csdn.net/course/detail/28103

注意事項:

  1. agent 和 controller 兩臺機器網絡必須互通,telnet 端口是否通
  2. Jmeter 版本必須一致
  3. JDK 版本一致,JDK1.8 對應(JMETER 5.1),必須配置JDK 的環境變量,必須配置JMETER 環境變量
  4. 如果controller 也需要進行壓測需啓動jmeter.server,agent 機只需啓動jmeter.server 即可
  5.  服務上顯示 運行成功提示

 jmeter.server 啓動是顯示是外網IP,(問題的根源在於:我安裝的VMware的一個windows虛擬機的網絡設置成了“Bridge 並勾選 Replicate physical network IP address所以在controller機器的網絡路由設置中,顯示的網絡連接爲:VirtualBox Host-Oly Network,在這個連接上右鍵,選擇“Disable“,禁用掉,然後重新運行jmeter-server.bat,在窗口中發現IP已經正確了,這樣問題就解決了)

運行效果

 

controller  啓動jmeter.bat 編寫腳本

 

 

 

 

聚合報告中間的樣本數量=線程數*循環次數*agent(機器臺數)=1*1*2=2

   分佈式測試總樣本數=線程數 x 循環次數 x slave負載機數量  

 

有問題記得看jmeter.server.log 定位問題

 

更多學習資料:https://edu.csdn.net/course/detail/25768

更多學習資料:https://edu.csdn.net/course/detail/22948

https://edu.csdn.net/course/detail/28103

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章