jmeter 分布式壓測(windows)


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

 

jdk和jmeter的下載和安裝就不說了

 

jmeter 分布式壓測原理:

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

  • controller 負責把腳本分發給 agent執行。
  • agent 負責執行腳本,產生對服務器的實際壓力,agent 運行 non GUI model,點擊 jmeter-server.bat 即可。agent 執行腳本后,把壓測的結果發送給 controller。
  • controller 作為控制器不加入實際測試,只負責發送和收集 agent 信息。

 

一、配置 agent

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

# RMI port to be used by the server (must start rmiregistry with same port)
server_port=1099                  #設置 server_port 端口
......
# Password of Trust store
#server.rmi.ssl.truststore.password=changeit
#
# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true      # 改成true

 

2. 雙擊 jmeter-server.bat ,這個 ip 有用,待會要配到 controller 機器上的配置文件里(若報錯'jmeter' is not recognized,需要配置 jmeter 環境變量)

 

二、配置 controller

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

 

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

# Password of Trust store
#server.rmi.ssl.truststore.password=changeit
#
# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true      # 改成true

 

 3. 雙擊 jmeter.bat ,運行一個 agent 

  agent 服務上顯示 運行成功

 

 

4. 至於有同學反饋,分布式壓測時,agent 返回的 response data 在 views Result tree 中查看是空。這個問題取消 jmeter.properties 中 mode=Standard 的注釋,然后重啟 jmeter controller 即可解決(慎用此開關,經過測試600多的qps就能打滿千兆帶寬)。

 

 


免責聲明!

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



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