Uptime and SLA calculator: allowed downtime for 99.9 percent and other targets
- Per day
- 1 min 26 s
- Per week
- 10 min 5 s
- Per month (30 days)
- 43 min 12 s
- Per quarter (91.25 days)
- 2 h 11 min 24 s
- Per year (365 days)
- 8 h 45 min 36 s
- Nines
- 3
- Achieved availability
- 99.8912 %
- Measured over
- 43,200 minutes
- Combined availability
- 99.84006 %
- Nines
- 2.8
- Downtime per year
- 14 h 37 s
Three questions, three panels. How much downtime does an availability target allow over a day, a week, a 30-day month, a quarter and a year? What availability did you actually reach, given the minutes a service was down? And what does a chain of components, or a redundant pair, add up to when each has its own availability?
How it works
An availability percentage is a budget. Whatever is not up time is allowed downtime, and the arithmetic is the same for every period:
allowed downtime = period * (100 - target) / 100
achieved % = (measured - downtime) / measured * 100
measured = period - excluded maintenance
nines = -log10(1 - target / 100)
in series = A1 * A2 * ... * An (as fractions)
in parallel = 1 - (1 - A1) * (1 - A2) * ... * (1 - An)
The periods are fixed lengths: a day is 86,400 seconds, a week 604,800, a month 30 days (2,592,000 seconds), a quarter 91.25 days (7,884,000 seconds) and a year 365 days (31,536,000 seconds). Downtime is rounded to whole seconds and shown in days, hours, minutes and seconds, with decimal seconds below a minute and milliseconds below a second. A total of 119.6 seconds reads 2 min.
Series means every component must be up for the service to be up: a router, then a firewall, then a server. Parallel means any single component is enough: two uplinks, two power supplies, two DNS servers. For the path panel, separate the values with commas or spaces. A percent sign after a number is fine and a stray trailing comma is ignored, but anything that is not a number from 0 to 100 shows an error instead of a result. The combined figure gets as many decimals as it needs to show where its nines end, and a Nines line sits under it.
Worked example
The first panel opens with a target of 99.9 %:
| Period | Allowed downtime |
|---|---|
| Per day | 1 min 26 s |
| Per week | 10 min 5 s |
| Per month (30 days) | 43 min 12 s |
| Per quarter (91.25 days) | 2 h 11 min 24 s |
| Per year (365 days) | 8 h 45 min 36 s |
| Nines | 3 |
The month line is 2,592,000 seconds times 0.1 / 100, which is 2,592 seconds, or 43 minutes 12 seconds. The week line is really 604.8 seconds; the display rounds it to 10 min 5 s.
The second panel opens with 47 minutes of downtime over 30 days and no excluded maintenance. Thirty days is 43,200 minutes:
achieved = (43,200 - 47) / 43,200 * 100 = 99.8912 %
The output reads "Achieved availability 99.8912 %" and "Measured over 43,200 minutes". Against the 99.9 % target from the first panel, that month missed by 3 minutes 48 seconds: 47 minutes spent from a 43 min 12 s budget.
The third panel opens with three components in series at 99.95 %, 99.9 % and 99.99 %:
0.9995 * 0.999 * 0.9999 = 0.99840064995 -> 99.84006 %
downtime per year = 31,536,000 * 0.00159935005 = 50,437 s
The output shows a combined availability of 99.84006 %, 2.8 nines and 14 h 37 s of downtime per year (14 hours, 0 minutes, 37 seconds). No single part was below three nines, yet the chain is worse than the weakest of them. Switch the arrangement to parallel and the same three numbers give 99.99999999500 %, 10.3 nines and 2 ms of downtime per year. On paper that is excellent; the gotchas below explain why real redundant paths rarely get there.
Limits and gotchas
- The month is always 30 days. Real months run from 28 to 31 days: at 99.9 %, February allows 40 min 19 s and a 31-day month 44 min 38 s. When you check a real monthly report, put the actual number of days in the second panel instead of reading the table. Contracts also differ on whether a month means calendar days, 30 days or 365.25 / 12.
- Maintenance comes out of the measured time, not out of the downtime. Enter only the outage minutes that fell outside agreed windows. Excluding 240 minutes of maintenance in the example drops the measured time to 42,960 minutes, and the same 47 minutes then gives 99.8906 %, slightly worse, because the denominator shrank.
- Parallel assumes independent failures. Two firewalls on the same power strip, the same firmware bug or the same upstream circuit fail together, and the product formula overstates them by orders of magnitude. Failover time is not in the formula either: a pair that takes 90 seconds to switch over loses 90 seconds every time.
- Measurement decides the number. Where you measure from, what counts as down and how often you check change the result more than the formula does. A single outage seen through five-minute checks can be off by several minutes, and the whole 99.9 % monthly budget is 43 minutes. What 99.9 percent really allows covers the contract side, choosing a polling interval the resolution, and ping is not monitoring what to check.
- Nines are a log scale. 99.9 % is 3, 99.95 % is 3.3 and 99.99 % is 4. Each extra nine cuts the budget by ten.
Questions
How much downtime does 99.9 percent uptime allow?
43 minutes 12 seconds in a 30-day month, 10 minutes 5 seconds in a week, 1 minute 26 seconds in a day, and 8 hours 45 minutes 36 seconds in a 365-day year.
How much downtime does 99.99 percent allow per year?
52 minutes 34 seconds over 365 days (52.56 minutes), or 4 minutes 19 seconds in a 30-day month.
Why does the calculator use a 30-day month?
A fixed month gives the same answer every time and matches how many SLAs are written. For a specific month, enter its real length in days in the achieved-uptime panel.
How much does a redundant pair add?
On paper, a lot. Two components at 99.9 % in parallel give 99.999900 %, 6 nines and 31.5 s of downtime a year. Two at 99.99 % give 99.99999900 %, 8 nines and 315 ms. Both figures assume the two fail independently, which shared power, shared software or a slow failover rarely allows.
Does planned maintenance count as downtime?
Only if the agreement says so. Many SLAs exclude announced maintenance windows, so the panel removes excluded minutes from the measured time. Enter only the downtime outside those windows.