前言

在某些案例需求,可能需要不同區域主機對伺服器進行壓力測試;又或者是需要更嚴苛、更大的壓力測試案例,本身發出 Request 主機資源不足情況下,就非常需要遠端測試。

主要內容如下:
1. 基本介紹
2. GUI mode 遠端測試
3. Command line Mode (Non-GUI mode) 遠端測試
這篇文章將簡單說明如何使用JMeter 遠端控制數台 JMeter Server 同時對於目標伺服器進行測試,若有錯誤或任何建議,請各位先進不吝指教。


介紹

基本介紹

下圖為執行Remote test 示意圖,需要 1台 client 與數台 remote server,而這幾台電腦都必須安裝 JMeter。我們從 client 執行測試命令,而由數台 remote server 對目標伺服器進行測試。若你的遠端主機各執行500 thread,若有5台遠端主機,就是執行2500 thread。

進行測試之前,我們需要確認幾個步驟:
Step 1.請執行 remote server 上的 jmeter-server.bat,確定server 正常運作。


Step 2.來到 Client 主機,開啟 JMETER_HOME/bin/jmeter.properties 檔案(使用文字檔),找到remote_hosts ,並加上remote server IP。
(註:第一次使用時加入即可,若你使用Non-GUI mode的-R指令可以不用設定)


GUI mode 遠端測試

於Clinet 開啟圖形化介面 (JMeter),上方 Run 選單中可以看到許多關於 Remote test的操作:
1. Remote Start: 選擇主機開始發送測試
2. Remote Start All: 全部列於 remote_hosts的主機執行測試案例
3. Remote Stop: 選擇主機暫停測試
4. Remote Stop All: 全部列於 remote_hosts的主機暫停測試
5. Remote Shutdown: 選擇主機停止測試案例
6. Remote Shutdown All: 全部列於 remote_hosts的主機停止測試案例
7. Remote Exit: 選擇主機關閉  remote server
8. Remote Exit All: 全部列於 remote_hosts的主機關閉 remote server
註1: 若需要新增主機,請參考上一步驟 JMETER_HOME/bin/jmeter.properties 內remote_hosts 增加主機位置。
註2: 強烈建議不要使用GUI介面執行,通常只要案例 thread 多一點,GUI介面會當掉,可能造成無法停止情況。


Command line Mode (Non-GUI mode) 遠端測試

直接透過指令進行測試:
jmeter -n -t script.jmx -r
或者
jmeter -n -t script.jmx -R server1,server2,…

執行過程如下圖(上圖為client、下圖為remote server)

整個 Remote Test 流程相當簡單易懂,提供有需要的朋友參考。更詳盡的資料可以參考JMeter官方網站 - Remote Test


上一篇:JMeter Command line mode and report dashboard 指令操作模式與報表儀表板
目錄:請點我
下一篇:[Azure DevOps][JMeter] 在 Azure DevOps 執行壓力測試 (Load Test)


參考資料