Manage Learn to apply best practices and optimize your operations.

What's the best way to do a server availability calculation?

A discussion on the efficacy of predicting site/environment availability.

I am trying to calculate the availability of a site/environment based on the individual availability rating per each system in the environment.

For example, this is my environment:

Application server (#1) -- 99.5 

Infrastructure server (#2) -- 99.5 

File/print server (#3) -- 99.5 

Router (#4) -- 99.99 

Switches (#5) -- 99.999

Total site availability -- 98.50%

Is this the correct way to calculate site availability? Here is how I did it: I multiplied: 1 * 2 = x * 3 = y * 4 = z * 5 = Total Availability Rating

A reader asked Evan the following question:

How can I mathematically calculate availability if I add a standby system?

Example: Two system operating availability 97%.

What is the availability if I add a standby system (n+1) and how shall I calculate it?

Here is Evan's answer:

There are two different ways to interpret your question. The first is simply how you calculate the availability of a system that has been in operation for some time. For that, I offer the simple formula:

A = ------------------- x 100%
     Uptime + Downtime


  • A = the percentage of time that the system is operational 
  • Uptime = the amount of time during the period in question that the system was up 
  • Downtime = the amount of time during that same period that the system was down

It's pretty simple really.

What I suspect you were asking in reality, though, is how you can predict availability. That's not quite as simple. In fact, it's effectively impossible to predict availability. I cannot tell you how many percentage points you can increase your availability if you cluster two or more systems together. I can tell you that if you do it properly you should see an improvement in your availability and it should be fairly significant.

If you have one system with historic 97% availability as you suggest and you cluster with an identical system from which it is reasonable to expect the same levels of availability, that second system should cover you 97% of the time that the first system is down. 97% of 3% is 2.91%. The two clustered machines, if clustered properly, and if there are no calamities that affect both systems, should be available 97 + 2.91 or 99.91% of the time.

More resources on server availability

Guide about high-availability servers and systems

Techniques for ensuring SQL Server availability

Using failover clustering and network load balancing for high availability

If you reread that last paragraph, you'll find a lot of ifs. That's because there are a lot of conditions that must be met before you can hope for anything that even resembles a guarantee of availability. So be careful what you promise. Those calculations also do not take external factors like networks and storage into account; protecting those assets requires a different approach.

On the other hand, 97% availability translates to a total downtime of nearly 11 days a year, while 99.91% availability is a little less than eight hours over a year. What would it be worth to your organization to reduce your downtime by more than 10 1/2 days a year?

I hope this is helpful.

Evan L. Marcus

Editor's note: Do you agree with this expert's response? If you have more to share, post it in one of our discussion forums.

Next Steps

How to calculate parallel availability

Avoid VM downtime by being aware of high availability gotchas

Get tips for training employees effectively for high availability

Dig Deeper on Primary storage devices