1、JMeter可以在以下場景下使用分散式遠端壓測:
- 效能測試:JMeter可以模擬大量使用者併發訪問,進行效能測試。當需要模擬成千上萬的使用者請求時,單臺機器可能無法承受如此大的負載,此時可以使用分散式遠端壓測來將測試負載分發到多臺機器上,提高測試的效率和準確性。
- 穩定性測試:在一段時間內持續傳送請求是穩定性測試中的一種場景。例如,可能需要持續壓測幾個小時甚至幾天時間,檢視介面是否有報錯或者CPU、記憶體是否會上漲。透過分散式遠端壓測,可以在多臺機器上分配壓測任務,持續傳送請求,提高穩定性測試的效果。
- 資料庫操作: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