DB2 代理是服務器端服務應用請求的進程/執行緒,分三類:
NUM_INITAGENTS 個閒置代理NUM_POOLAGENTS 上限則銷毀| 參數 | 含義 | V9.5 變化 |
|---|---|---|
| MAXAGENTS | 實例總代理上限(協調+閒置+子代理) | 已廢除 |
| NUM_POOLAGENTS | 代理池閒置代理上限,超限則銷毀 | 預設 AUTOMATIC (初始 100) |
| NUM_INITAGENTS | 啟動時預建閒置代理數,減少首次連線延遲 | 建議與 NUM_POOLAGENTS 一致 |
| MAX_COORDAGENTS | 同一時刻最大協調代理數(單分區/每分區) | 可設 AUTOMATIC |
| MAX_CONNECTIONS | 實例最大連線數(單分區/每分區) | 可設 AUTOMATIC |
| MAXCAGENTS | 協調代理令牌數 | 已廢除 |
| MAXAPPLS (DB 級) | 單一資料庫最大連線數,所有 DB 之和 ≤ MAX_CONNECTIONS |
MAX_CONNECTIONS > MAX_COORDAGENTS 即啟用。V9.5 兩者均可設 AUTOMATIC,系統依比率自動調節。
db2 update dbm cfg using MAX_CONNECTIONS AUTOMATIC
db2 update dbm cfg using MAX_COORDAGENTS AUTOMATIC
系統依比率(集中率)動態調整:如比率 3:1,每 300 連線增加 100 協調代理。可用 db2 get dbm cfg show detail 查看當前實際值。
檢查手段:
db2 list applications —— 排除內部應用 (db2stmm 記憶體調節、db2taskd 後台任務)db2pd -agents -db <DB> —— 觀察 Idle agents=0、Active coord agents 接近上限db2 get snapshot for dbm —— Max agents overflow > 0 表示溢位調整策略:
MAXAGENTS = MAX_COORDAGENTS = High water mark for coordinating agentsMAXAGENTS = (N+1) * MAX_COORDAGENTSAUTOMATICdb2 ? sqlxxxx 查錯誤碼netstat -a 檢查埠口監聽No buffer space available → 增加註冊表 SystemPages| 參數 | OLTP (高連線) | DSS (低連線) |
|---|---|---|
| NUM_POOLAGENTS | 較大,減少建銷開銷 | 較小,避免閒置浪費 |
| NUM_INITAGENTS | ≈ NUM_POOLAGENTS | ≈ NUM_POOLAGENTS |
| 連線集中器 | 啟用 (MAX_CONN > MAX_COORD) | 視負載決定 |
依據快照 Agents created from empty pool / Agents assigned from pool 比值調整:比值大 → 增加 NUM_POOLAGENTS;Agents stolen 大 → 亦需增加。

理解代理/連線架構是 DB2 效能調優基石。V9.5 引入 AUTOMATIC 參數與全環境子代理,大幅簡化管理。善用連線集中器、快照監控與 db2pd 診斷,可在高並發環境穩定運行。