調優哲學:原則先於技術
性能調優非單純參數堆砌,需遵循系統性思維。以下八大法則構建調優專業心法:
- 遞減報酬定律:最大收益來自初期努力(如加索引、修統計),後續邊際效益遞減、成本遞增。知足常樂,避免過度調優。
- 針對真正瓶頸:優化非瓶頸資源(如 CPU 閒時調 I/O 參數)無改善響應時間,反增加複雜度。先找「最長木板」。
- 全系統視角:單參數變更必連鎖影響他層(如增排序堆可能擠佔緩衝池)。評估全鏈路影響再動手。
- 單一變更原則:一次只改一項,否則無法歸因收益或副作用。科學實驗基本法。
- 分層測量與重配:按層級優化——硬體 → OS → 應用服務器/請求器 → 資料庫 → SQL → 應用程式。逐層收斂。
- 先查硬體/軟體缺陷:壞磁碟、記憶體錯誤、已知 Bug 修補包往往比調參數更立竿見影。排除故障優於調優。
- 升級硬體前先診斷:盲目加記憶體/CPU 可能掩蓋真問題(如鎖爭用、惡劣 SQL),導致投資浪費。診斷先行,投資跟上。
- 預留回滾預案:所有變更必可逆。文檔化原值、準備回滾腳本、驗證回滾可行。無回滾不調優。
實戰建議
- 建立「調優日誌」:記錄每次變更、基線指標、觀測窗口、結論
- 使用
db2batch、Snapshot、Event Monitor 量化前後對比
- 優先優化高頻、高耗、業務關鍵 SQL(Top-N 法)
- 定期審視系統健康度(HEALTH_MON),建立性能基線趨勢圖
調優是持續迭代過程,而非一次性專案。遵循法則,方能事半功倍。