對比Availability可用性、Reliability可靠性、Stability穩定性


簡單區分

從事故、穩定方面簡單理解如下:

名詞 簡單理解
可靠性 不出事故
可用性 不出事故 出事故后,快速止損
穩定性 解決故障問題基礎上 服務持續穩定、性能穩定

對比穩定性、可用性、可靠性

總體對比











可用性 可靠性 穩定性
英文 Availability Reliability Stability
關注點

關注的是服務總體的持續時間。

系統在給定時間內總體的運行時間越長,可用性越高。

關注系統可以無故障地持續運行的概率,關注的是故障率。
故障的頻率越高,可靠性越低。

影響可靠性的因素就是能夠引起故障的所有因素,包括軟件設計錯誤,編碼錯誤,硬件故障等等。

指軟件在一個運行周期內、在一定的壓力條件下,在持續操作時間內出錯的概率,性能劣化趨勢等等。

如果一個系統的性能時好時壞,它一定是不穩定的,而不一定是不可靠的。
穩定性更關注系統在給定條件下的響應是否一致,行為是否穩定。
可靠是可用的前提,穩定是可靠的進一步提升。

對比

在《分布式系統原理與范型》中提到的下面例子中比較准確的解釋了兩者的區別:

如果系統在每小時崩潰1ms,那么它的可用性就超過99.9999%,但是它還是高度不可靠。

與之類似,如果一個系統從來不崩潰,但是每年要停機兩星期,那么它是高度可靠的,但是可用性只有96%。

作為系統的響應,首要目標是先降低故障的次數,頻率要低,從而提高可靠性;

同時在故障出現后,要提高故障的恢復時間,速度要快,從而提高業務的可用性。

對比

對於電力系統而言,
穩定性就是“人民用電不要忽明忽暗忽快忽慢”,可靠性就是”不要用着用着突然沒有啦“。
-知乎盛夏白日夢

故障與出錯的差別

可用性

可用性指系統在給定時間內可以正常工作的概率,通常用SLA(服務等級協議,service level agreement)指標來表示。

這是這段時間的總體的可用性指標。

通俗叫法 可用性級別 年度宕機時間 周宕機時間 每天宕機時間
1個9 90% 36.5天 16.8小時 2.4小時
2個9 99% 87.6小時 1.68小時 14分鍾
3個9 99.9% 8.76小時 10.1分鍾 86秒
4個9 99.99% 52.6分鍾 1.01分鍾 8.6秒
5個9 99.999% 5.26分鍾,315.36秒 6.05秒 0.86秒

可靠性

可靠性相關的幾個指標如下:

MTBF(Mean Time Between Failure)

即平均無故障時間,是指從新的產品在規定的工作環境條件下開始工作到出現第一個故障的時間的平均值。

MTBF越長表示可靠性越高,正確工作能力越強 。

MTTR(Mean Time To Repair)

即平均修復時間,是指可修復產品的平均修復時間,就是從出現故障到修復中間的這段時間。

MTTR越短表示易恢復性越好。

MTTF(Mean Time To Failure)

即平均失效時間。系統平均能夠正常運行多長時間,才發生一次故障。

系統的可靠性越高,平均無故障時間越長。

這些指標跟可用性關系

Availability = UpTime/(UpTime+DownTime) = MTBF / (MTBF + MTTR)

穩定性

Stackoverflow 看到這樣一段代碼來表示穩定性和可靠性的區別,甚為有趣:

# Reliable but unstable:
    add(a,b):
     if randomInt mod 5 == 0: 
        throw exception
     else
        print a+b        

# Stable but unreliable:
    add(a,b):
     if randomInt mod 5 == 0: 
         print a+a
     else
         print a+b

參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM