智慧型自動化壓力測試系統:融合物理特性建模預測與 AI 視覺化分析
本專案開發了一套基於 Golang 的分佈式自動化壓力測試系統,用來改善傳統測試工具在「系統瓦數控制」與「長時間測試資料判讀」上的限制。
不同於只執行固定腳本的測試工具,本系統加入物理特性建模:針對 CPU(線性增長)與 Memory/Ethernet(反指數飽和)等元件建立數學模型,用來推估接近目標瓦數的壓力組合。在資料分析方面,系統以 Grafana 四維熱力圖整合溫度、轉速、瓦數與時間頻率,並串接 AI 視覺模型輔助圖表判讀,讓長時間驗證結果更容易回顧與比較。
本專案核心技術包含兩個部分:
物理特性預測建模: 針對 CPU(線性增長)與 Memory/Ethernet(反指數飽和)等元件的異質功耗特性,建立可解釋的數學模型。透過線性擬合與演算法逆向推導,推估系統瓦數與壓力組合。
AI 驅動的四維視覺化: 設計整合溫度、轉速、瓦數與時間頻率的 Grafana 四維熱力圖,並串接視覺 AI 模型輔助圖表解讀,協助辨識潛在散熱風險與效能瓶頸。
🛠️ 技術深度剖析 (Technical Case Study)
1. 系統架構與基礎設施 (Infrastructure)
為了滿足多台設備與長時間測試需求,本系統採用分佈式架構設計:
- Agent 端 (Golang CLI): 部署於待測機器 (SUT),負責執行底層測試指令。具備本地 Log 緩衝機制,即使網路中斷也能確保數據完整性。
- Controller 端: 提供一對多遠端操作介面與預約排程功能,實現無人值守測試。
- 監控與分析端: 整合 Grafana 進行即時監控,並將數據流導向後端 AI 分析模組。

2. 核心技術:基於物理特性的壓力預測模型 (Physical Characteristic Modeling)
這是本系統的主要控制邏輯。為了讓系統接近特定的熱設計功耗 (TDP) 邊界,我減少傳統「試誤法」的腳本調整,改採數學建模方法。
2.1 物理特性的發現
透過設計「前測試 (Pre-test)」流程,自動掃描各元件從輕載到滿載的反應,我發現不同元件的功耗變化曲線存在顯著的物理差異:
- CPU (線性增長): 隨著負載增加,瓦數幾乎呈現完美的線性上升 ($y = ax + b$)。
- Memory & Ethernet (反指數飽和): 這些元件在初期負載增加時瓦數上升極快,但隨後會趨緩並接近飽和點,呈現類似反指數 (Inverse Exponential) 的曲線特性。
2.2 數學建模與精準施壓
基於上述發現,我手動推導出可解釋的數學公式模型。當使用者輸入「目標總瓦數」時,系統會透過演算法計算,考慮各元件的權重與飽和特性,逆向求解出最佳的 CPU、GPU、MEM 與 IO 腳本組合強度。

3. 核心技術:四維數據視覺化與 AI 點評 (4D Visualization & AI Analysis)
解決了「控制」問題後,下一個挑戰是如何「解讀」長時間測試產生的複雜數據。
3.1 4D Grafana 熱力圖
為了在二維平面上呈現多變數的系統狀態,我客製化設計了 Grafana 面板,將四個維度的關鍵資訊融合於一張圖表中:
- X 軸: 溫度 (Temperature)
- Y 軸: 風扇轉速 (Fan Speed)
- 顏色 (Color): 系統瓦數 (Power Consumption) - 透過顏色深淺直觀呈現負載高低
- 點的大小 (Size): 累積停留時間/頻率 (Cumulative Duration)
最終測試結果圖
4D 熱力圖

資料視覺化圖表

