分散式壓測jmeter部署 主機win slave linux

不带R的墨菲特發表於2024-10-15

1、JMeter可以在以下場景下使用分散式遠端壓測:

  1. 效能測試:JMeter可以模擬大量使用者併發訪問,進行效能測試。當需要模擬成千上萬的使用者請求時,單臺機器可能無法承受如此大的負載,此時可以使用分散式遠端壓測來將測試負載分發到多臺機器上,提高測試的效率和準確性。
  2. 穩定性測試:在一段時間內持續傳送請求是穩定性測試中的一種場景。例如,可能需要持續壓測幾個小時甚至幾天時間,檢視介面是否有報錯或者CPU、記憶體是否會上漲。透過分散式遠端壓測,可以在多臺機器上分配壓測任務,持續傳送請求,提高穩定性測試的效果。
  3. 資料庫操作:JMeter不僅可以作為介面自動化工具,還可以作為日常資料庫操作的工具。當需要進行大量的資料庫操作時,例如模擬使用者在某一段時間內對資料庫進行大量的讀寫操作,可以透過分散式遠端壓測來提高測試效率,減少測試執行時間。

2、JMeter分散式遠端原理

  1.JMeter 分散式測試,選擇節點來做排程伺服器,其他的節點作為執行節點,透過排程節點管理其他節點;

  2.啟動服務時,排程伺服器會把指令碼傳送到各個執行節點(指令碼會傳送到執行節點,但是資料不會傳送),執行節點拿到指令碼開始執行命令;

  3.各個執行節點執行結束以後將結果回傳給排程節點,排程節點進行資料彙總;

  4. 原理圖

簡單來講: Jmeter分散式測試時,選擇一臺機器作為控制機,其他機器作為執行機。執行時,控制機會把指令碼發到執行機上,執行機開始執行,執行完畢後,會把結果回傳到控制機。

3、環境配置

1、我們使用Window做為壓力機主機,Linux作為壓力機從機,Win方便視覺化執行

2、Jmeter在主機控制器上新增配置,開啟bin/目錄下的 jmeter.properties 檔案

remote_hosts=192.168.124.129,192.168.124.130
server_port=1099
server.rmi.ssl.disable=true

3、編輯從機節點的 jmeter.properties 檔案(兩個從機節點都需要配置)

server_port=1099   
server.rmi.ssl.disable=true
server.rmi.localport=1001

4、壓力從機啟動jmeter-server

注意:

1.如果你的Controller節點參與了請求,此時jmeter-server也需要啟動;

2.執行的指令碼進行檔案引數化,此時需要存放在jmeter-server啟動的相對位置路徑,而不是你指令碼儲存的相對路徑,首先執行的時候,Controller節點會對指令碼下發,他會下發到jmeter-server啟動的路徑,而不是你指令碼存放的路徑

5、壓機主機啟動遠端,分散式遠端

Linux伺服器顯示如下:

6、非GUI啟動遠端機器

名詞解釋

  • 啟動指定Slave節點

啟動命令:jmeter -n -t api.jmx -R 192.168.124.129

  • 啟動所有Slave節點(新增引數-r)

啟動命令: jmeter -n -t api.jmx -r

常見問題FAQ

執行 sh jmeter-server報錯:

原因為:

Jmeter遠端啟動該伺服器報錯:no such object in table

原因:

remote_hosts=192.168.124.129,192.168.124.130 (去掉埠即可,因為遠端機的server.rmi.localport=1001 註釋開啟了,會預設取這裡的埠
=============================================================================
其他資料:
ps -ef | grep jmeter | awk '{print $2}' | xargs kill -9
https://jmeter.apache.org/usermanual/remote-test.html
jmeter.apache.org
jmeter.apache.org
Apache JMeter - User's Manual: Remote (Distributed) Testing
Main content About Overview License Download Download Releases Release Notes Documentation Get Started User Manual Best Practices Component Reference Functions Reference Properties Reference Change Hi
jmeter -n -t <測試 JMX 檔案> -l <測試日誌檔案> -e -o <輸出資料夾路徑> https://jmeter.apache.org/usermanual/generating-dashboard.html
jmeter.apache.org
jmeter.apache.org
Apache JMeter - User's Manual: Generating Dashboard Report
Main content About Overview License Download Download Releases Release Notes Documentation Get Started User Manual Best Practices Component Reference Functions Reference Properties Reference Change Hi
jmeter -n -t test.jmx -r -l test.jtl -e -o htmldir

相關文章