什麼是錯誤預算?
在網站可靠性工程(SRE)中,錯誤預算(Error Budget)指的是一項服務在仍符合服務水準目標(SLO)的前提下,所能容許的「不可靠程度」。如果你承諾 99.9% 的可用性,等於默許了 0.1% 的停機——這 0.1% 就是你的錯誤預算。這款通用計算機會將任何 SLO 目標與時間週期換算成可容許的最大停機分鐘數,再扣除你已經用掉的停機時間,讓你一眼看出還剩多少預算。
如何使用
以百分比輸入你的目標 SLO(例如 99.9),選擇計算週期(週、月、季或年),再填入該週期內已經發生的停機分鐘數。計算機會回傳你的總錯誤預算、已消耗的停機時間,以及以分鐘與百分比表示的剩餘預算。
公式說明
首先將週期換算為分鐘:
$$\text{週期分鐘數} = \text{天數} \times 24 \times 60$$錯誤預算為
$$(1 - \text{SLO}) \times \text{週期分鐘數}$$其中 SLO 以小數表示(99.9\% → 0.999)。最後,
$$\text{剩餘預算} = \text{錯誤預算} - \text{已用停機時間}$$剩餘值為負,代表你已經把預算用光並違反了 SLO。
實際範例
假設你的 SLO 為 99.9%,計算週期為 30 天的一個月。週期為 \(30 \times 24 \times 60 = 43{,}200\) 分鐘。錯誤預算為 \((1 - 0.999) \times 43{,}200 = 43.2\) 分鐘。如果你已經發生 10 分鐘的停機,剩餘預算就是 \(43.2 - 10 = 33.2\) 分鐘,約佔整體預算的 76.85%。
常見問題
多少 SLO 才算好?這取決於服務性質。99.9%(俗稱「三個九」)對於一般網路應用相當常見;關鍵基礎設施則可能要求 99.99% 甚至更高。SLO 越高,留給你的錯誤預算就越小。
剩餘值為負代表什麼?表示你已超出可容許的停機時間並違反了 SLO。SRE 團隊通常會在預算回補之前,凍結具風險的部署。
是否包含計畫性維護?只有在你把維護時段計入停機時才會。許多團隊會將已公告的維護排除在 SLO 計算之外。