在系统设计面试中,可用性百分比是软件工程师应该熟悉的基本知识。
在系统可靠性领域(System Availability),99.9% 或 99.99% 之类的可用性百分比是关键的基准。但是这些数字究竟意味着什么?它们又如何转化为实际停机时间(Downtime)?以下介绍了如何计算与不同可用性水平相关的停机时间,并使用示例来说明 99.9%、99.99% 和其他可用性目标所带来的预期。
什么是可用性百分比?
可用性百分比表示系统在给定时间段(通常是一年、一月或一天)内预计正常运行的时间比例。例如,99.9% 的可用性意味着系统在指定期间内可以停机 0.1% 的时间。
可用性百分比和停机时间
以下是根据不同时间段的可用性百分比计算停机时间的方法:
- 确定总时间周期:选择参考周期:
- 年:365 天,或 31,536,000 秒(365 天 × 24 小时 × 60 分钟 × 60 秒)
- 月:30 天,或 2,592,000 秒
- 日:24 小时,或 86,400 秒
- 计算允许的停机时间:使用公式:
停机时间 = 总时间周期 × (1 – 可用性百分比)
示例:99.9% 可用性的停机时间
99.9% 可用性的年度停机时间
- 一年中的总秒数:31,536,000
- 可用性:99.9% = 0.999
- 停机时间 = 31,536,000 × (1 – 0.999) = 31,536 秒
- 转换为小时和分钟:31,536 秒约为 8 小时 45 分钟
99.9% 可用性的月度停机时间
- 一个月中的总秒数:2,592,000
- 停机时间 = 2,592,000 × (1 – 0.999) = 2,592 秒
- 转换为分钟:2,592 秒约为 43.2 分钟
99.9% 可用性的每日停机时间
- 一天中的总秒数:86,400
- 停机时间 = 86,400 × (1 – 0.999) = 86.4 秒
- 转换为分钟:86.4 秒约为 1.44 分钟
更高可用性水平的停机时间
对于具有更高可用性目标的系统,如 99.99% 或 99.999%,允许的停机时间会变得更短。以下是总结不同可用性水平停机时间的表格:
| 可用性 | 年度停机时间 | 月度停机时间 | 每日停机时间 |
|---|---|---|---|
| 99.9%(三个 9) | 约 8 小时 45 分钟 | 约 43.2 分钟 | 约 1.44 分钟 |
| 99.99%(四个 9) | 约 52.6 分钟 | 约 4.4 分钟 | 约 8.6 秒 |
| 99.999%(五个 9) | 约 5.3 分钟 | 约 26 秒 | 约 0.86 秒 |
| 99.9999%(六个 9) | 约 31.5 秒 | 约 2.6 秒 | 约 86 毫秒 |
高可用性的重要性
具有高可用性目标的系统对于那些停机会直接影响收入、客户满意度或安全的行业至关重要。实现这些目标需要精心设计,包括负载均衡、冗余、故障转移机制,有时还需要资源的地理分布。
总结
可用性百分比提供了表达系统可靠性的一种方便方式,但将其转换为停机时间则可以更清楚地看到面临的风险。使用这些计算来设置现实的可用性目标,并相应地准备您的基础设施。
英文:Understanding Availability Percentages: Calculating Downtime for Your Systems
本文一共 768 个汉字, 你数一下对不对.上一篇: C++的异步编程: std::future, std::async 和 std::promise
下一篇: 英国驾照网上申请(更新)好处多多
扫描二维码,分享本文到微信朋友圈
