digiRunner 壓力測試 digiRunnerr測試大師之路 二部曲單機設定

digiRunner壓測大師之路 - 二部曲單機設定

Sean 2025/06/24 19:55:31
22

前言

在開始本篇文章前,我們先複習一下前篇的內容,包括 Nginx 後端 API 的準備、digiRunner(以下簡稱dgR) API 的註冊、啟動與測試,以及壓測環境的指令說明、實際操作。將這三個關鍵環節串起來就能讓我們完成一個基礎版本的壓力測試。當然,上一篇是先讓你看到結果,對於有興趣的使用者來說應該不是一個太難的過程,先快速掌握壓力測試過程中的各個關鍵點。

本篇將從本機測試的角度,進一步說明如何安裝本機dgR與設定Nginx、本機dgR dashboard說明,以及簡易障礙排除 Q&A 。如此一來,即使沒有雲端環境或遠端 VM,仍可以在本機建置測試環境進行測試。

我們以開源版本進行示範(開源版本連結),以下是本機環境的測試架構以及硬體環境簡述。

本機環境網路架構:

本機硬體環境:

macOS系統:2022 M2 macbook air、16GB ram、512GB SSD、OS版本15.4.1。

接著,我們針對Nginx的設定檔進行調整,這邊重點在於設定後端api,讓API呼叫去取得json檔內容,設定重點在nginx.conf。

  • nginx.conf設定
    • 進入nginx.conf檔案位置進行編輯,在server區塊加入以下設定內容,目的是要讓nginx服務起來後,api這個資料夾可以在瀏覽器上檢視列表與檔案內容。
      location / {
          root   /opt/homebrew/var/www;
          index  index.html index.htm;
          try_files $uri $uri/ =404;
              }
      location /api/ {
              root /opt/homebrew/var/www;
              autoindex on;  # 開啟目錄瀏覽
              default_type application/json;
            }
    • 並且在www底下開一下api資料夾放入要讀取的json檔。
    • 設定完成,執行指令nginx -s reload載入修改過的設定檔。
    • Nginx啟動成功,瀏覽器輸入網址檢視放到api資料夾底下的json檔。如果你不知道要怎麼產生json檔案,可以讓ChatGPT或是其他AI工具來幫你產生。
  • 啟動dgR
  • terminal 輸入指令cd digiRunner-Open-Source,進入openDGR專案資源的位置。
  • 執行指令./gradlew :dgrv4_Gateway_serv:bootRun,啟動openDGR服務,看到dgRunnerV4的圖示表示已成功啟動囉。

  • 開啟瀏覽器輸入本機dgR網址並登入。
  • dgR Online Console
  • 點選System Configs,再點選Setting,搜尋框輸入online點選圖示,查詢結果TSMP_ONLINE_CONSOLE選項於Action欄位點選圖示。
  • 編輯頁面,value欄位修改為true,點選Update更新。

  • 點選System Configs,再點選Online Console,確認logevel下拉選單為INFO,壓測時可以於此觀察服務運行的處理歷程資訊。
  • dgR dashboard
    • dashboard頁面於壓測時可以觀察各種資訊幫助我們了解dgR的負載效能資訊。
  • 疑難排解Q&A

Q:我應該要使用哪一個版本的JDK呢?

A:使用JDK21。

Q:dgR成功啟動沒有成功?

A:確認一下terminal中的啟動過程是否跳出錯誤訊息,進一步確認錯誤訊息顯示的內容來進行排錯。

Q:我要在什麼地方執行壓測指令?

A:在本機環境中terminal就可以執行壓測指令。

Q:壓測過程我要如何檢查壓測腳本執行狀況以及效能測試結果?

A:打開online console或是dashboard可以監控壓測進行的狀況以及負載狀態,測試結果也可以從壓測指令最後輸出的結果檔案另外統計。

結語

看完以上說明,對於本機的壓力測試是不是已經手癢躍躍欲試了呢!快速複習一下本篇的一些重點:nginx.conf中的api路徑設定與放置後端api要使用的json檔;dgR dashboard的節點資訊。準備好了話,那就來試試看openDGR開源版本吧! 若你試用完,覺得企業版的digiRunner更符合你的需求,也歡迎與我們的業務進行洽談!下一篇,我們將分享在Google Cloud部署進行壓力測試的經驗給大家,讓你雲地都可以收穫滿滿!

Sean