Jmeter分佈式測試

單臺機器運行500個線程就基本到極限了,所以很多時候我們需要用到分佈式執行方式。

1. 介紹

Jmeter的分佈式執行方式,分爲一臺調度機和多臺執行機。其中調度機保存測試腳本,遠程啓動時分發給所有執行機。而執行機執行的過程中會把請求結果實時傳回給調度機。以達到分佈式測試的目的。
以下圖例中,以a機器作爲調度機,a、b、c機器作爲執行機進行測試。(機器緊張的情況下,a也可以充當執行機)
在這裏插入圖片描述
PS: 傳輸過程中會產生一定的損耗,所以不建議調度機參與執行。

2. 準備工作

2.1 執行機準備工作

  1. 查詢本機ip地址
    windows在cmd執行ipconfig。Linux在終端執行ifconfig可以查到本機的ip地址。
    在這裏插入圖片描述
    PS: 因爲我這是A類地址,所以是10開頭的,一般是C類地址192.168.x.x。

2.2 調度機準備工作

  1. 進入調度機上Jmeter程序路徑,打開/bin/jmeter.properties 文件。
    在這裏插入圖片描述
  2. 找到remote_hosts這一行,填入所有執行機ip地址。(來自2.1 執行機準備工作)
    在這裏插入圖片描述

3. 執行方法

  1. 在每一臺執行機上,進入Jmeter程序路徑,啓動\bin\jmeter-server.bat 文件。
    在這裏插入圖片描述
  2. 啓動後是這樣子的,這個終端不能關閉。紅框中會顯示本機IP地址。端口號在Jmeter4.0後是自動分配的。
    在這裏插入圖片描述
  3. 在調度機上,運行Jmeter GUI界面。可以在運行-遠程啓動菜單看到配置文件中設定的執行機列表。
    在這裏插入圖片描述
  4. 我點了運行-遠程全部啓動,2個執行機各執行了一遍。
    執行過程中,調度機分發了.jmx腳本給了2臺執行機,2臺執行機執行過程中把執行結果傳回給了調度機。
    在這裏插入圖片描述
  5. 如果遠程執行成功的話,執行機上的jmeter-server.bat執行框會有內容更新
    在這裏插入圖片描述

4. 命令行進行遠程啓動

  1. 普通的命令行啓動是這樣的
    jmeter.bat -n -t 線程組.jmx -l test.jtl

  2. 帶上生成報告是這樣的
    jmeter.bat -n -t 線程組.jmx -l test.jtl -e -o Report

  3. 遠程啓動所有執行機,只需要加個 -r 參數即可
    jmeter.bat -n -t 線程組.jmx -r -l test.jtl
    在這裏插入圖片描述

  4. 執行完成後報告也是所有執行機的全部測試結果
    在這裏插入圖片描述

5. 可能遇到的問題

5.1 java.io.FileNotFoundException: rmi_keystore.jks

  1. Windows上如果運行 jmeter-server.bat 遇到以下錯誤 java.io.FileNotFoundException: rmi_keystore.jks
    在這裏插入圖片描述
  2. 進入調度機上Jmeter程序路徑,打開\bin\jmeter.properties 文件。
    找到#server.rmi.ssl.disable=false 這一行,改成true,記得把#去掉。
    在這裏插入圖片描述
  3. 調度機也需要修改爲#server.rmi.ssl.disable=true,否則遠程啓動時會報相同錯誤。
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章