Jmeter--聯機負載


為什么要做聯機負載?     

       Jmeter本身的性能決定了在使用jmeter進行性能測試的過程中,單台機器能夠模擬的虛擬用戶數不會太多(1000用戶)。如果要進行大量用戶的負載測試,則需要進行聯機負載(分布式負載)。 

基礎概念:

       1.主控制機:存放JMeter腳本的機器叫做主控制機
       2.負載機:被連接並用來運行腳本的機器叫做負載機

前提條件:
      ·保證在控制機和負載機上都能夠運行Jmeter。(jmeter和jdk版本需一致)
      ·要保證控制機和負載機、負載機和被測服務器之間的網絡能夠通信。(同一個局域網內)

操作步驟:

      1)在控制機上,找到jmeter所在目錄中的bin文件夾下的jmeter.properties文件,找到對應的屬性為:remote_hosts

            示例:

            # Remote Hosts - comma delimited

    remote_hosts=127.0.0.1
            #remote_hosts=localhost:1099,localhost:2010
            remote_hosts=192.168.100.41:8000,192.168.100.200:1099          

      表示添加了兩台負載機:
      一台是:192.168.100.41:8000,
      一台是:192.168.100.200:1099

     2)在負載機上啟動Jmeter-server.bat(windows)/Jmeter-server(linux),或者通過命令Jmeter -s來啟動。    

   PS:Jmeter-server的默認服務端口是1099,如果在負載機上該端口被占用,則我們可以通過修改負載機上的Jmeter的配置文件jmeter.properties中的屬性server_port來指定服務端口。
    示例:
    # RMI port to be used by the server (must start rmiregistry with same port)
    server_port=8000

    將Jmeter-server的服務端口改為了8000.
    PS:改完之后重啟才會生效

    3)重啟控制機上的Jmeter

    4)控制機上,打開需要運行的腳本,設置好線程組屬性,就可以通過遠程啟動or遠程全部啟動的方式來運行腳本

         ·遠程啟動:選中一台負載機來運行腳本。

   ·遠程全部啟動:所有負載機都同時運行腳本。

 

注意事項:
  ·聯機負載時,要保證控制機和負載機的Jmeter的版本、JAVA環境的一致性。
  ·聯機負載時,腳本的運行環境是負載機的環境。
  一般就要保證控制機和負載機的環境的一致性。
  對於腳本中用到的第三方文件,包括jar包和參數文件等。
  1)對於jar包,只需要保證第三方jar包同時在控制機和負載機的jmeter的lib目錄下存在即可。
  2)對於第三方文件,比如參數文件,也要求在控制機和負載機都有。
  如果是使用的絕對路徑,則要保證第三方文件在控制機和負載機的絕對路徑的一致。
  如果使用相對路徑,則要注意在控制機和負載機上的當前路徑的區別:
  在控制機(本地)上時,當前路徑是腳本所在文件夾。
  在負載機(遠程)上時,當前路徑是Jmeter的bin目錄。

  ·聯機負載時,遠程全部啟動時,當前的測試計划是分別、獨立、同步在每一台負載機上執行的。這就意味着此時對服務器造成的實際壓力(RL)和測試計划所設置的壓力(DL)是不一樣的,是和負載機的數量(N)有關的。RL=DL*N


免責聲明!

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



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