SLO 與 SLI

Vibe Prompt

「幫我為一個 API 服務定義 SLI(可用性 99.9%、P95 延遲 <200ms)與 SLO。」

SLI 類型

| 指標 | SLI 範例 | |------|---------| | 可用性 | 成功請求 / 總請求 >= 99.9% | | 延遲 | P95 回應時間 < 200ms | | 吞吐量 | 每秒請求數 > 1000 | | 錯誤率 | 5xx 錯誤 < 0.1% |

計算方式

# 可用性 SLI
sum(rate(http_requests_total{status!~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))

# P95 延遲
histogram_quantile(0.95,
  sum(rate(http_request_duration_seconds_bucket[5m])) by (le))

# 錯誤率
sum(rate(http_requests_total{status=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))

SLO 範例

| 服務 | SLO | 錯誤預算/月 | |------|-----|------------| | API Gateway | 99.9% | 43 分鐘 | | 資料庫 | 99.99% | 4.3 分鐘 | | 排程任務 | 99.5% | 3.6 小時 | | DNS 解析 | 99.99% | 4.3 分鐘 |

錯誤預算

每月錯誤預算 = (1 - SLO) × 30 × 24 × 60 分鐘
99.9% → 43.2 分鐘/月
99.99% → 4.32 分鐘/月

消耗速度太快 → 停止新功能,專注穩定性
消耗速度正常 → 可以繼續開發

會員專屬免費教學

本章節為註冊會員專屬的免費開放內容!請先登入或註冊會員,即可立即解鎖閱讀。

立即登入 / 註冊