信頼性・性能設計
このドメインで問われること
冗長化の組み合わせが可用性をどう変えるか、帯域と遅延の設計値がどこで破綻するかを、数値で扱えるかが試される。設計値を計算して妥当性を判断する問題が中心である。
可用性の計算
- 直列構成は可用性の積: 0.999 × 0.999 ≒ 0.998。構成要素が増えるほど下がる。
- 並列(冗長)構成は 1 − (1−a)(1−b): 0.999 が 2 台なら 0.999999。
- MTBF と MTTR から 可用性 = MTBF ÷ (MTBF + MTTR)。MTTR の短縮が効く。
冗長化と性能の手段
- 装置冗長は VRRP/HSRP、リンク冗長は LAG と ECMP、経路冗長は動的ルーティングの収束で実現する。
- LAG は本数分の帯域になるが、フロー単位のハッシュ分散なので単一フローは 1 本の帯域を超えない。
- QoS は分類・マーキング(DSCP は 6 ビット)・キューイング・シェーピング・ポリシングで構成する。シェーピングはバッファに溜めて遅らせ、ポリシングは超過分を破棄する。
- オーバーサブスクリプション率とマイクロバーストを意識しないと、平均帯域が足りていても破棄が発生する。
実例(直列と並列の比較)
各 0.99 の装置を 2 台直列にすると 0.9801、並列にすると 1 − 0.01² = 0.9999。同じ 2 台でも構成で 2 桁近く差が出るため、可用性目標から構成を決める順序で考える。
失点しやすい罠
- 並列の計算を単純な平均や積にしてしまう。
- LAG を組めば単一フローも高速化すると誤解する。
- シェーピングとポリシングの挙動(遅延か破棄か)を逆に覚える。