How to use the uptime and downtime calculator
- List each part a request depends on, such as a web tier, an app tier and a database, with its availability as a percent.
- If a part has identical copies running side by side, enter how many. The part stays up while at least one copy is up.
- Optionally enter a target availability to see the downtime it allows.
- Read the overall availability and the downtime per day, week, month and year.
Formula
part with k copies: availability = 1 - (1 - a)^k
chain of parts: overall availability = product of the part availabilities
downtime = (1 - availability) x minutes in the period
A year is 365 days (525,600 minutes) and a month is one twelfth of a year. Copies assume failures are independent of each other.
Web, app and database
The web tier and the app tier are each 99.9% available and run as two copies, so each is 1 - 0.001^2 = 99.9999% available. The database is 99.95% available with one copy. Overall availability is 0.999999 x 0.999999 x 0.9995 = 99.9498%.
That means about 263.85 minutes of downtime in a year, or 4.40 hours, 21.99 minutes in a month and 43.4 seconds in a day. A single service at 99.9% allows 525.6 minutes, or 8.76 hours, a year. Adding a second copy to the weakest part is the cheapest way to move the total.
Why chains lose and copies win
In a chain, every extra part is another way for a request to fail, so the total is always lower than the weakest part. Copies work the other way: the part fails only when every copy is down at once. That is why a few modest components in parallel can beat one excellent component.
The weakest part, shown in the results, tells you where a change would help most.
What the number does not capture
Real failures are rarely independent. A shared network, power feed or software bug can take out every copy together, and the true availability is then lower than this page shows. Contracts also define uptime in their own way, with maintenance windows, partial outages and credits. Read the definition before relying on a figure. For related planning, see the Exponential Backoff Schedule Generator and the Erlang C Staffing Calculator.
Assumptions and limits
- Availability is the share of time a part works, and parts fail independently.
- Copies are identical and any one of them can carry the whole load.
- Planned maintenance counts as downtime only if it is included in the availability you enter.
- The result is a probability model, not a guarantee.
Frequently asked questions
What does 99.9% availability allow?
It allows 0.1% of the time to be down, which is 525.6 minutes or 8.76 hours in a 365 day year, and 43.8 minutes in an average month.
Why is the overall figure lower than every part?
A request needs every part in the chain to work at the same moment, so the chance that all are up is the product of the individual chances, which is smaller than each one.
How is the month length chosen?
A month is one twelfth of 365 days, 30.4167 days, so that twelve months add up to a year. A contract may use 30 days or the calendar month.
Can I enter 100%?
Yes. A perfect part adds no downtime. The page then shows zero downtime for a chain made only of such parts.