SLA uptime table
The downtime each common availability level allows. The month is the average month of 30.44 days and the year has 365.25 days, so the columns add up; the calculator above also shows a 30-day month and a quarter.
| Availability | Nines | Per day | Per week | Per month | Per year |
|---|---|---|---|---|---|
| 90% | 1 | 2 h 24 min | 16 h 48 min | 3 d 1 h 3 min | 36 d 12 h 36 min |
| 95% | 1.3 | 1 h 12 min | 8 h 24 min | 1 d 12 h 31 min 30 s | 18 d 6 h 18 min |
| 99% | 2 | 14 min 24 s | 1 h 40 min 48 s | 7 h 18 min 18 s | 3 d 15 h 39 min 36 s |
| 99.5% | 2.3 | 7 min 12 s | 50 min 24 s | 3 h 39 min 9 s | 1 d 19 h 49 min 48 s |
| 99.9% | 3 | 1 min 26.4 s | 10 min 4.8 s | 43 min 49.8 s | 8 h 45 min 57.6 s |
| 99.95% | 3.3 | 43.2 s | 5 min 2.4 s | 21 min 54.9 s | 4 h 22 min 58.8 s |
| 99.99% | 4 | 8.64 s | 1 min 0.5 s | 4 min 23 s | 52 min 35.8 s |
| 99.999% | 5 | 864 ms | 6.048 s | 26.298 s | 5 min 15.6 s |
The formulas
allowed downtime = period × (1 − availability)
availability = (period − downtime) ÷ period
in series A = A1 × A2 × … × An
in parallel A = 1 − (1 − A1) × (1 − A2) × … × (1 − An)
99.9 % of a 30-day month: 2,592,000 s × 0.001 = 2,592 s = 43 min 12 sThe calculator does this arithmetic exactly, in whole fractions of a second, and rounds only what it shows — a percentage to six decimals, a duration to a tenth of a second or a millisecond — so no rounding error from one step leaks into the next.
Series and parallel
A website that needs a load balancer, a web server and a database is in series: it is up only when all three are. Multiplying 99.99%, 99.9% and 99.95% gives 99.84% — lower than any part on its own, about 14 hours a year instead of the 8.8 hours of the weakest part. Redundancy works the other way: two web servers that can each carry the load are down only when both are, so 99.9% each becomes 1 − 0.001² = 99.9999% together, and the same setup with them reaches 99.94%.
Both rules assume that the parts fail independently. Two servers on the same host, the same power feed or the same network fail together, and count as one part in series, not two in parallel.
Reading an SLA
- The period. Most SLAs measure per calendar month. 99.9% of February allows 40 min 19.2 s, of a 31-day month 44 min 38.4 s — the calculator’s average month sits in between.
- Maintenance. Planned maintenance announced in advance is usually excluded, so the downtime you can see is the allowance plus the maintenance windows.
- What counts as down. A full outage only, or slow and partial service too; measured by whom, and at what interval — a check every five minutes does not see a three-minute outage.
- What you get back. Usually a credit on the next invoice, as a share of the monthly fee, and only on request within a deadline — not compensation for what the outage cost you.
On your own server, uptime shows how long it has run since the last reboot and journalctl --list-boots when it restarted — the numbers to set against an availability target.
Frequently asked
How much downtime does 99.9% uptime allow?
1 min 26.4 s a day, 10 min 4.8 s a week, 43 min 49.8 s in an average month of 30.44 days (43 min 12 s in a 30-day month), and 8 h 45 min 57.6 s in a year of 365.25 days — 8 h 45 min 36 s in a 365-day year. Which month the figure means is up to the contract, which is why the calculator shows both.
What does “five nines” mean?
99.999% availability: about 26.3 seconds of downtime a month and 5 min 15.6 s a year. Each extra nine cuts the allowance tenfold — three nines (99.9%) allow about 8.8 hours a year, four nines (99.99%) about 53 minutes, five nines about 5 minutes. A single server rarely gets past three nines on its own; the higher figures come from redundancy.
How do I work out availability from downtime?
Divide the time the service was up by the length of the period: availability = (period − downtime) ÷ period × 100. Two hours of downtime in a 30-day month (720 hours) is 718 ÷ 720 = 99.72%. Enter the downtime in the second part of the calculator and pick the period.
How do I calculate the availability of several servers?
Parts that a request passes through one after another are in series, and their availabilities multiply: a 99.99% load balancer, a 99.9% web server and a 99.95% database give 99.84%. Copies of a part in parallel are down only when all of them are, so their availability is 1 − (1 − A)ⁿ: two 99.9% web servers give 99.9999%, and the same setup with them reaches 99.94%. Both assume the parts fail independently — a shared power feed or network breaks that.
Does an SLA percentage include maintenance?
Usually not. Most SLAs leave out maintenance announced in advance and measure per calendar month, so the real downtime can be the allowance plus the maintenance windows. They also define what counts as down — a full outage or any degradation — how it is measured, and what you get back, usually a service credit rather than compensation. Compare those terms, not only the percentage.
Related guides
VPS keeps rebooting: find out why and stop the restart loop
Tell a clean reboot from a crash with the previous boot's journal, then fix the usual causes: auto-reboots, kernel panics, OOM, watchdogs and host events.
nginx 502 Bad Gateway — it is your upstream, not nginx
A 502 means nginx could not reach your app. Read the error log, then fix the four causes: upstream down, wrong socket, timeout, or socket permissions.
Cloudflare error 522: connection timed out — find what drops Cloudflare at your origin
Error 522 means Cloudflare got no answer from your server within 19 seconds. Find the cause at the origin: firewall, wrong DNS IP, fail2ban bans or overload.