A 99.9% availability SLO allows 43 minutes 12 seconds of downtime in 30 days, 99.95% allows 21 minutes 36 seconds, and 99.99% allows 4 minutes 19 seconds. Allowed downtime is the time period multiplied by the error budget, which is 100% minus the target.
How much downtime does each SLO allow?
For a time-based availability SLO, the allowed downtime is the length of the period multiplied by the error budget:
allowed downtime = period × (1 − SLO target ÷ 100)30 × 24 × 60 = 43,200 minutes × 0.001 = 43.2 minutesSo a 99.9% availability SLO over 30 days allows 43 minutes and 12 seconds of downtime. The same calculation for every common target:
| SLO target | Per day | Per week | Per 30 days | Per year |
|---|---|---|---|---|
| 99% | 14 min 24 s | 1 h 40 min 48 s | 7 h 12 min | 3 days 15 h 36 min |
| 99.5% | 7 min 12 s | 50 min 24 s | 3 h 36 min | 1 day 19 h 48 min |
| 99.9% | 1 min 26 s | 10 min 5 s | 43 min 12 s | 8 h 45 min 36 s |
| 99.95% | 43 s | 5 min 2 s | 21 min 36 s | 4 h 22 min 48 s |
| 99.99% | 8.6 s | 1 min 0 s | 4 min 19 s | 52 min 34 s |
| 99.999% | 0.9 s | 6 s | 26 s | 5 min 15 s |
- 99%7 h 12 min
- 99.5%3 h 36 min
- 99.9%43 min 12 s
- 99.95%21 min 36 s
- 99.99%4 min 19 s
- 99.999%26 s
Each extra nine allows ten times less downtime.
Is an error budget the same as downtime?
Error budgets are often explained as allowed downtime, but not every error budget is time-based. There are two common approaches.
Time-based error budgets
A time-based error budget measures how long a service can be unavailable within a period. For example: the service must be available for 99.9% of a 30-day period, which allows 43 minutes 12 seconds of downtime.
Request-based error budgets
A request-based error budget measures the proportion of eligible requests that fail. For example: 99.9% of valid API requests must succeed over 30 days. If the API receives 1,000,000 eligible requests, it can tolerate 1,000 failures, however long they take to happen. This approach reflects request outcomes and suits APIs, transaction services and other request-driven applications.
| Time-based | Request-based | |
|---|---|---|
| What it counts | Minutes the service is unavailable | Requests that fail or are too slow |
| 99.9% over 30 days allows | 43 min 12 s of downtime | 1,000 failures per 1,000,000 requests |
| Affected by traffic | No | Yes: an outage at peak costs more |
| Partial failures | Hard to count: is 5% of requests failing “down”? | Counted naturally |
| Common for | Customer-facing SLAs | Engineering SLOs for APIs and services |
Why a request-based SLO cannot be converted into downtime
A request-based SLO has no fixed downtime equivalent, because the number of failed requests depends on how much traffic arrives while the service is failing.
An outage during peak traffic may cause many more failed requests than an equally long outage during a quiet period.
- 03:00 · 200 requests/min2,000failed requests
- 11:00 · 3,000 requests/min30,000failed requests
Same downtime, fifteen times the failed requests.
This is why the downtime table above is a guide for time-based SLOs only. For a request-based SLO, the error budget is a count of allowed failures, and burn rate shows how fast it is being spent.
Is 99.99% always better than 99.9%?
Not necessarily. Each extra nine cuts the allowed downtime by ten times, and the engineering cost of reaching it usually rises much faster: more redundancy, slower and safer releases, and a faster on-call response.
A service also cannot be more available than the dependencies it needs on every request. If a request passes through three dependencies that are each 99.9% available, the best the service can reach is about 99.7%:
0.999 × 0.999 × 0.999 ≈ 0.997 = 99.7%Choose the target users actually need, then check that the dependencies can support it. What is an SLO? covers how to set one.
Frequently asked questions about allowed downtime
How much downtime is 99.9% uptime?
99.9% uptime allows 1 minute 26 seconds of downtime per day, 10 minutes 5 seconds per week, 43 minutes 12 seconds per 30 days, and 8 hours 45 minutes 36 seconds per year.
How much downtime is 99.99% uptime per year?
99.99% uptime allows about 52 minutes 34 seconds of downtime per 365-day year, or 4 minutes 19 seconds per 30 days.
How much downtime is 99.95% uptime per month?
Over a 30-day month, 99.95% uptime allows 21 minutes 36 seconds of downtime. Over a 31-day month, it allows 22 minutes 19 seconds.
How much downtime does five nines allow?
Five nines (99.999%) allows about 26 seconds of downtime per 30 days, or 5 minutes 15 seconds per year.
Why is 99.9% called three nines?
Availability targets are often named by their count of nines: 99% is two nines, 99.9% three nines, 99.99% four nines and 99.999% five nines. Each extra nine allows ten times less downtime.
Is an error budget the same as downtime?
Only for time-based SLOs. Request-based SLOs measure failed requests, so the same error budget can be used up by a short outage at peak traffic or a long one at a quiet time.
Key takeaways
- Allowed downtime equals the period multiplied by 100% minus the SLO target.
- 99.9% allows 43 min 12 s per 30 days; 99.99% allows 4 min 19 s.
- Each extra nine allows ten times less downtime, and usually costs much more to reach.
- Downtime tables apply to time-based SLOs. Request-based SLOs count failed requests instead.
