The table
All figures use a 365-day year and a month of one twelfth of a year (30.42 days).
| Uptime | Per day | Per week | Per month | Per year |
|---|---|---|---|---|
| 99% | 14m 24s | 1h 40m 48s | 7h 18m | 3d 15h 36m |
| 99.5% | 7m 12s | 50m 24s | 3h 39m | 1d 19h 48m |
| 99.9% | 1m 26.4s | 10m 4.8s | 43m 48s | 8h 45m 36s |
| 99.95% | 43.2s | 5m 2.4s | 21m 54s | 4h 22m 48s |
| 99.99% | 8.6s | 1m 0.5s | 4m 22.8s | 52m 33.6s |
| 99.995% | 4.3s | 30.2s | 2m 11.4s | 26m 16.8s |
| 99.999% | 864ms | 6s | 26.3s | 5m 15.4s |
| 99.9999% | 86.4ms | 604.8ms | 2.6s | 31.5s |
What each extra nine buys
Each extra nine divides the downtime budget by ten. Going from two nines (99%) to three (99.9%) takes the yearly budget from 3d 15h 36m to 8h 45m 36s. Four nines leaves 52m 33.6s a year, and five nines leaves 5m 15.4s.
The 99.9 uptime page breaks three nines down by calendar month and real SLA terms. Half steps appear in real contracts too. The Amazon RDS SLA uses 99.95% for Multi-AZ databases and 99.5% for single instances. 99.5% sits between two and three nines with 1d 19h 48m a year, and 99.95% allows 4h 22m 48s.
Why the month length matters
Many SLAs measure availability over each monthly billing cycle, as the Amazon EC2 and RDS SLAs do, rather than over a twelfth of a year. The allowance then changes with the month. At 99.9%, a 28-day February allows 40m 19.2s, a 30-day month 43m 12s and a 31-day month 44m 38.4s. Rolling windows, such as the last four weeks, are another common choice. Check which one your contract uses before you compare numbers.
Measuring against the target
Your figure is only as good as your measurement. A monitor that checks once a minute can miss an outage shorter than a minute, and it can only time a longer one to within a minute. The Amazon RDS SLA, for example, counts downtime in whole 1-minute intervals. At five nines the whole monthly budget is 26.3s, so the check interval needs to be well under that for the number to mean anything.
Also decide what counts as down. A page that returns an error, a page that loads in 30 seconds and a page that loads but shows the wrong content can all be outages to a customer, and only some of them are to a simple ping.
Sources
- Amazon EC2 SLA (monthly billing cycle)
- Amazon RDS SLA (99.95% and 99.5%, 1-minute intervals)
- Google SRE workbook: Implementing SLOs (rolling windows)