How to use the Uptime and SLA Calculator

  1. Type an availability target such as 99.9, or pick one of the presets.
  2. Read the downtime it allows per day, week, month, quarter and year.
  3. To check an outage against a target, enter the downtime and the period it happened in.
  4. For a system built from several parts, list each part’s availability and choose series or redundant.

How much downtime 99.9% uptime allows

99.9% uptime ("three nines") allows 8 hours 45 minutes 57 seconds of downtime a year, which is 43 minutes 49 seconds a month or 1 minute 26 seconds a day. Each extra nine divides the allowance by ten: 99.99% allows 52 minutes 35 seconds a year, and 99.999% about 5 minutes 15 seconds.

The allowance is simply the period multiplied by the unavailable fraction. For 99.9% that fraction is 0.1%, so a 30.44-day month of 2,629,800 seconds allows 2,629.8 seconds of downtime.

AvailabilityPer dayPer monthPer year
99%14m 24s7h 18m 18s3d 15h 39m 36s
99.5%7m 12s3h 39m 9s1d 19h 49m 48s
99.9%1m 26s43m 49s8h 45m 57s
99.95%43.2s21m 54s4h 22m 58s
99.99%8.6s4m 22s52m 35s
99.999%864ms26.2s5m 15s

How the periods are defined

A year here is 365.25 days, the average including leap years. A month is a twelfth of that, 30.4375 days (shown as 30.44), and a quarter is a quarter of the year. Contracts sometimes use a 30-day month or the actual calendar month, which shifts the figures slightly: 99.9% of a 30-day month is 43 minutes 12 seconds, and of a 31-day month 44 minutes 38 seconds. Check which one your SLA uses.

Every figure is rounded down, so the allowance is never overstated, and the arithmetic is done in exact decimal fractions rather than floating point, so 99.99 never turns into 99.99000000000001.

Working back from an outage

To see what an outage did to a target, take the downtime away from the period and divide: a 2-hour outage in a 30.44-day month leaves (730.5 − 2) / 730.5 = 99.726% availability, which misses 99.9%. Enter durations as 43m 49s, 1h 30m, 1.5 hours or 01:30:00.

Combining components

A request that passes through several parts in a row only succeeds if all of them work, so their availabilities multiply. An app server at 99.9% behind a load balancer at 99.99% and in front of a database at 99.95% is at best 99.9 × 99.99 × 99.95 = 99.84%, lower than any one part.

Redundant parts work the other way: the system fails only when every copy fails at once, so you multiply the unavailabilities. Two independent servers at 99% each give 1 − (0.01 × 0.01) = 99.99%.

Series:    A = A1 × A2 × … × An
Parallel:  A = 1 − (1 − A1) × (1 − A2) × … × (1 − An)

Both formulas assume failures are independent. Two servers in the same rack, on the same power feed, or running the same bad deploy fail together, so real redundancy is usually worth less than the formula says.

Measuring what you actually get

An SLA is only as good as the measurement behind it. An external check every minute misses outages shorter than a minute and counts a single failed probe as a full minute down, so decide in advance how often you probe, from where, and how many consecutive failures count as an outage. On the server itself, a process manager that restarts a crashed app turns a crash into seconds of downtime:

pm2 start app.js --name api
pm2 save && pm2 startup

Common mistakes

  • Promising a target you cannot measure. Below one minute a month (99.998% and above) most monitoring cannot tell you whether you met it.
  • Forgetting planned maintenance. Unless the SLA excludes it, a 30-minute maintenance window is more than a 99.95% month allows (21 minutes 54 seconds).
  • Counting only the server. DNS, the TLS certificate and the network in front of the server are in series with it.

Keeping releases out of the downtime budget

A bad deploy is a common cause of downtime. Shipown keeps release directories and attempts to restore the previous release when it detects a runtime failure, and its live updates feed reports an app going down or a server stopping answering while the desktop app is running.

Frequently asked questions

How much downtime does 99.9% uptime allow per month?

About 43 minutes 49 seconds in an average month of 30.44 days. In a 30-day month it is 43 minutes 12 seconds.

How much downtime is 99.99% per year?

52 minutes 35 seconds in a 365.25-day year, or about 4 minutes 22 seconds a month.

What does "five nines" mean?

99.999% availability, which allows about 5 minutes 15 seconds of downtime a year, or 864 milliseconds a day.

How do I calculate the availability of components in series?

Multiply their availabilities. Three components at 99.9% each give 99.9 × 99.9 × 99.9, about 99.7%.

How does redundancy improve availability?

With independent redundant copies, the system is down only when all of them are, so you multiply the unavailabilities. Two copies at 99% give 99.99%.

Does an SLA include planned maintenance?

It depends on the contract. Many SLAs exclude announced maintenance windows, so read the definition of downtime before comparing figures.