核心觀點
交易(Transaction)是資料庫邏輯工作單元,其效能直接決定使用者體驗。本文提出利用 DB2 事件監視器 與 快照監視器,依事務類型進行多維度效能分析,產出包含平均執行時間、執行次數、各 SQL 耗時、應用程式狀態分佈的分析報告,指導精準調優。
事務邏輯組成與狀態模型
- 由首條 SQL 隱式啟動,
COMMIT/ROLLBACK 結束
- 正常離線自動提交,異常離線自動回滾
- 執行過程中應用程式狀態切換:
- UOW Executing:執行資料庫操作(含 Lock Wait)
- UOW Waiting:應用層邏輯處理、網路傳輸、使用者思考時間
分析價值
若某類事務效能不佳,需區分耗時成因:
- SQL 執行本身慢?→ 索引、存取路徑、統計資訊
- 應用程式碼邏輯耗時?→ 應用層優化
- 大量鎖等待?→ 隔離級別、鎖粒度、提交頻率
實施步驟建議
- 識別關鍵業務事務類型(如:下單、轉帳、查詢帳單)
- 啟用 SQL 事件監視器記錄完整事務軌跡
- 定期擷取快照監視器資料對照基準值
- 建立事務效能基準庫,持續追蹤趨勢變化
- 針對異常事務類型啟動專項調優
工具支援
db2evmon:格式化事件監視器原始資料
- Control Center / Data Studio:圖形化事務分析
- 第三方工具(如 IBM Data Server Manager)提供自動化事務分類與熱點識別