System Availability
In one sentence: System availability is the share of time a system is up and working, based on how often it breaks and how long each repair takes.
Read it out loud: “A equals M T B F divided by the quantity M T B F plus M T T R. A is availability, the fraction of time the system is up and working, from 0 to 1. M T B F is the mean time between failures, the average time the system runs before it breaks. M T T R is the mean time to repair, the average time it takes to get the system working again. Both times must use the same unit, such as hours.”
Before you start
The ideas and signs this page uses, explained from zero. For powers of ten, Greek letters and other notation in general, see Math basics.
- Mean, or average
The mean of a list of times is their total divided by how many there are. The words ‘mean time’ in MTBF and MTTR mean ‘average time’. If three runs last 900, 1,000 and 1,100 hours, the mean is hours. A mean is an average over many failures, not the time of any single one.
- Fractions and percent
A fraction such as is a share of a whole, and 1 means the whole. To change it into a percent, multiply by 100, which moves the decimal point two places to the right: 0.998 is 99.8%. Availability is always a number from 0 to 1, so 99.9% is written as the fraction .
- Hours in a year
Availability is often checked over a whole year. A common year has 365 days, and each day has 24 hours, so a year has hours. A share of a year is found by multiplying the share by 8760: 0.1% of a year is hours. Use one unit, hours, for every time in the formula.
- Failure, repair and one cycle
A failure is the moment a system stops working correctly. A repair is the work that brings it back to working. The time between failures is the time the system runs in between. The time to repair is the time it stays broken. Together they form one cycle: a stretch of working time followed by a stretch of repair, and then the next cycle starts.
- Subscripts, like and
A small label written below a letter is a subscript. It tells apart several quantities of the same kind. In and , the letter is availability, and the numbers 1 and 2 name two different parts, such as two servers. The subscript is a name, so is one quantity and not times 1.
- Multiplying fractions, like
Multiplying two fractions gives a smaller fraction, because you take a share of a share. , which is the same as 99% of 99%, or 98.01%. This is why a chain of parts, where every part must work, is less available than any one part alone.
What each symbol means
| Symbol | Meaning |
|---|---|
| Availability: the fraction of time the system is up and working. It is a number from 0 to 1 with no unit. Multiply by 100 to get a percent, so 0.998 means 99.8%. A value of exactly 1 would mean the system is never down, which no real system reaches. | |
| Mean time between failures: the average time the system runs before it fails, measured in hours, days or another time unit. Larger is better, because a system that runs longer between breaks is up more of the time. The example uses 1,000 hours. | |
| Mean time to repair: the average time needed to bring the system back to working after one failure, in the same unit as MTBF. Smaller is better. The example uses 2 hours, so each failure costs 2 hours of downtime on average. |
The formula piece by piece
Start with the working time. MTBF is the average time the system runs before it fails. It is measured in hours, and in the example it is 1000 hours. The system is up for this long in each cycle.
The repair time. MTTR is the average time the system stays down while it is repaired. In the example it is 2 hours. That is a short stop compared with the 1000 hours of running, which is why availability is high.
One full cycle: working time plus repair time. The system runs for MTBF hours, is down for MTTR hours, and then the cycle starts again. In the example it is hours for each cycle, on average.
The share of each cycle in which the system is up. The up time divided by the whole cycle gives the fraction of time it works. In the example it is , which is 99.8% of the time.
The whole formula as one sentence: availability equals the mean time between failures divided by the sum of the mean time between failures and the mean time to repair. That is the fraction of the whole cycle in which the system is working.
What the formula is doing, and why
Every system breaks sometimes. Availability asks how much of the time it is up and working. Two averages describe that. The first is how long the system runs between failures, the mean time between failures, or . The second is how long a repair takes, the mean time to repair, or . Both are averages over many failures, not the time of one single failure.
Why divide? Think of one cycle. The system runs for about hours, then it is down for about hours while it is repaired. It works only during the first part. The fraction of time it works is the up time divided by the whole cycle, which gives . A share of a total is always a part divided by the whole, so division is the right operation.
Why faster repairs help. The share of time that is down is . When repairs are short compared with the running time, the bottom number is close to MTBF, so the down share is close to . Halving the repair time roughly halves the downtime. Failing half as often has the same kind of effect, because it doubles MTBF and so halves the down share.
Counting nines. Availability is often quoted as a percent with a count of nines. 99.9% is called ‘three nines’. A common year has 8,760 hours, so 99.9% allows about hours of downtime a year. Each extra nine cuts the allowed downtime by a factor of ten. For example, 99.99% allows only 0.01% of the year to be down, which is ten times less than 0.1%.
Parts in series and in parallel. Parts combine in two ways, if their failures are independent. In series, every part must work, so the availabilities multiply: . Two parts of 99% each give , which is lower than either part alone. In parallel, the system works if either part works, so it is down only when both are down: . Two 99% parts in parallel give .
An everyday picture
Think of a bus route. The bus runs for long stretches, then breaks down for a short time before it runs again. Availability is the share of the day the bus is actually on the road. A bus that breaks down rarely, and is repaired quickly, spends most of the day on the road. The bus’s running time is MTBF, its repair time is MTTR, and the share on the road is availability.
Worked example: One server for a small online shop
A small online shop runs its website on one server. The server fails on average once every 1,000 hours of running, so hours. When it fails, a repair takes 2 hours on average, so hours. The shop’s owner wants 99.9% availability. The numbers are made up for this example.
- Write down the two averages. The formula needs the mean time between failures, hours, and the mean time to repair, hours. Both are in hours, so no conversion is needed. The next step adds them to find one full cycle.
- Find the length of one full cycle. A cycle is the running time plus the repair time: hours. On average, the server runs for 1000 hours, is down for 2 hours, and then starts the next cycle. The formula divides the working time by this whole cycle.
- Divide the working time by the whole cycle. Availability is . The division gives about 0.998004, which we round to 0.998. A value of 0.998 means the server is working for 998 out of every 1000 parts of time.
- Change the fraction into a percent. Multiply by 100, which moves the decimal point two places to the right: . So the server is up 99.8% of the time, on average.
- Find the downtime in hours for a year. The share that is down is , which is about 0.001996. A common year has hours, so the downtime is hours a year. During that time the shop’s website is not working.
- Compare with the 99.9% target. A target of 99.9% allows hours of downtime a year. The server’s 17.5 hours is about twice that, so this server would miss the target.
- Find what would fix it. The formula shows two levers: fewer failures, which means a bigger MTBF, and faster repairs, which means a smaller MTTR. Halving the repair time from 2 hours to 1 hour gives , which is about 99.9%. That meets the target.
Answer: The server is up about 99.8% of the time, which is about 17.5 hours of downtime a year. That is about twice the 8.76 hours allowed by a 99.9% target, so this server misses the target. Halving the repair time to 1 hour brings availability to about 99.9%.
The numbers in this example are recomputed by script every time the site is built.
Common mistakes
- Mixing units, such as MTBF in days and MTTR in hours. Convert both to the same unit before you divide or add, because the formula adds the two times to make one cycle.
- Looking only at MTBF. A system that rarely fails but takes a week to repair can still have poor availability, because the repair time is part of every cycle.
- Forgetting that the result is a fraction. A value of 0.998 means 99.8%, not 0.998%, so multiply by 100 only when you want a percent.
- Multiplying availabilities for redundant parts that work in parallel. Parallel parts are combined with , which is higher than either part alone. Parts in series multiply and come out lower.
Where you will meet it
- Service level agreements for cloud and hosting providers, where uptime targets are written as percentages.
- Planning backup systems that take over when the main system fails, to see how much redundancy a service needs to reach a target.
- Reliability engineering for hardware such as power supplies, disks and network equipment.
- Setting a downtime budget, which is the amount of downtime a website or online service is allowed over a month or a year.
Questions people ask
Can a system reach 100% availability?
No real system is always up. Designers aim for many nines and plan for failures instead of assuming they never happen. A value of exactly 1, or 100%, would need a system that never fails or never needs repair, and no real hardware meets that.
What is a nine?
Each nine is one digit of the availability, counted as a run of nines in the percent. 99% is two nines, 99.9% is three nines and 99.99% is four nines. Each extra nine divides the yearly downtime by ten, because it cuts the share that is down by a factor of ten.
Is a long MTBF always enough?
No. Availability depends on both numbers. A long time between failures can be canceled out by a long repair, so both MTBF and MTTR matter. A system that rarely fails but takes days to repair can still be down more than a system that fails often but is fixed in minutes.
Related formulas
- M/M/1 Queue: The M/M/1 formula tells you the average time an item spends in a line with one server, based on how fast items arrive and how fast the server works.
- Gustafson's Law: Gustafson’s law estimates how much more work a computer with many workers can finish in the same time, when the job grows as you add workers.