可靠性與 SRE 進階
SRE 如何進行容量規劃?負載測試在其中扮演什麼角色?
容量規劃的目標
確保系統在預期和非預期的負載增長下,始終有足夠資源來維持 SLO,同時避免過度佈建造成浪費。
容量規劃流程
1. 建立需求預測
- 分析歷史流量成長趨勢(線性、指數、季節性)
- 預測未來 3-12 個月的流量
- 考慮業務事件(促銷、新市場進入)
2. 確認資源模型 建立服務的資源使用模型:
- 每 1000 QPS 需要多少 CPU/記憶體/儲存
- 找出瓶頸資源(通常是 CPU 或資料庫連接數)
3. 負載測試 在受控環境中模擬高流量,驗證系統能否支撐預期容量,並找出失效點(Breaking Point)。
工具:k6、Apache JMeter、Locust、Gatling
4. 緩衝與安全係數 不要規劃在 100% 容量運行。通常預留 20-30% 緩衝空間(考慮到流量尖峰、效能降級、滾動部署期間的容量需求)。
負載測試類型
| 類型 | 目的 |
|---|---|
| Baseline Test | 確認正常負載下的效能基準 |
| Load Test | 驗證預期最高負載下的行為 |
| Stress Test | 找出系統的斷裂點(Beyond Capacity) |
| Soak Test | 長時間穩定負載,發現記憶體洩漏等問題 |
| Spike Test | 模擬突然的流量爆增(如熱門活動) |
容量規劃 vs 自動擴展
自動擴展不能取代容量規劃:
- 自動擴展有擴展延遲(數分鐘)
- 雲端資源配額有上限(需提前申請)
- 成本預算需要提前規劃
✦ AI 模擬面試
輸入你的答案,AI 即時分析精準度與改進空間
登入後即可使用 AI 評分
