跳轉到

CCU Capacity Planning(壓測數據推算法)

概念概覽

推算公式(可重現框架)

核心知識

推算公式(可重現框架)

# Step 1: Pod 數量
Pod 數 = 目標 CCU / 單 Pod CCU 上限
= 100,000 / 200 = 500 Pod

# Step 2: DB 連線需求
DB 連線數 = Pod 數 × 每 Pod 連線池大小
= 500 × ~83 = 41,472(含 HPA buffer)

# Step 3: IO 需求(線性推算)
目標 WAL = 單 Pod 實測 WAL × Pod 數
≈ 4.26–6.01 MB/s × 500 ≈ 2,130–3,005 MB/s

壓測必量指標清單

  • DB 連線數(active vs idle 分開量測)
  • WAL 寫入速率 + Checkpoint 頻率
  • Valkey cache hit rate(影響 RDS write TPS 估算)
  • Pod CPU/Memory 實際使用率(驗證 Pod 規格假設)

不確定性處理

  • Valkey cache hit rate 未知:hit rate 越高 RDS 壓力越小,hit rate 偏低則寫入 TPS 成為新瓶頸
  • 建議:從 loadtest 或線上 Valkey metrics 取得實測數據後,再精確估算 RDS write TPS

經驗教訓

  • 容量規劃必須從真實壓測數據出發,不能只用理論公式估算

  • 連線池引入後需要單獨壓測 Pooler 的延遲影響,Pooler 本身可能成為新瓶頸

  • Valkey cache hit rate 是影響 RDS 實際負載的關鍵未知數,容量規劃前應先取得此數據

常見陷阱

  • 線性推算假設負載均勻分布,實際 peak 流量可能有突發倍數,需加入安全係數

  • 只壓測到 P3 規模就線性推算到 P5,中間可能出現非線性瓶頸(如鎖競爭)

最佳實踐

  • 壓測時盡量測到目標 CCU 的 20–30%,再線性推算,誤差較小

  • 容量規劃應同時識別所有並行瓶頸,不要解決一個就停止分析

  • 建立瓶頸清單:連線數、IO throughput、CPU、Cache hit rate,逐一量化

相關概念

相關視角

以下頁面與本概念共享主題,但從不同角度切入。保留獨立視角同時提供交叉參考:

來源 Sessions

日期 Session 貢獻摘要

| 2026-03-25 | 135234ac-cc13-4bd9-92f0-c123f2169ae2 | 建立從單 Pod 壓測數據出發,系統推算 100k CCU 所需 Pod 數、DB 連線數、IO 需求的可重現方法論 |


本概念頁面由 Semi-Brain Wiki 系統自動維護

最後更新: 2026-03-25