digiRunner壓測大師之路 - 二部曲單機設定
前言
在開始本篇文章前,我們先複習一下前篇的內容,包括 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部署進行壓力測試的經驗給大家,讓你雲地都可以收穫滿滿!