MCPで接続 →

計算を入力してください

公式

広告

結果

総合可用性
99.8001%
across 2 components
ダウンタイム(%) 0.1999%
年間ダウンタイム 17.51 hours
月間ダウンタイム 87.56 min
1日あたりのダウンタイム 2.8786 min

複合SLAとは?

現代のシステムは、ロードバランサー、データベース、外部API、CDNなど、数多くの構成要素から成り立っています。それぞれに「99.9%」のような稼働率(アップタイム)で表されたSLA(サービス品質保証)が設定されています。複合SLA(総合SLA)とは、これらの要素を組み合わせて連携させたときに得られる、システム全体の現実的な可用性のことです。本ツールは、個々のコンポーネントの稼働率を合算してエンドツーエンドの可用性を一つの数値で示し、それを1日・1か月・1年あたりの具体的なダウンタイムに換算します。

可用性のパーセンテージと年間ダウンタイムを対応させた棒グラフ
可用性のパーセンテージが高いほど、年間のダウンタイムは劇的に短くなります。

直列構成と並列構成の違い

コンポーネントのつなぎ方によって、結果は大きく変わります。直列(依存チェーン)では、リクエストが成功するためにすべての要素が稼働している必要があるため、各稼働率を掛け合わせます。直列構成の総合可用性は次のように計算されます。

$$A_{\text{total}} = \text{A}_1 \times \text{A}_2 \times \text{A}_3 \times \text{A}_4$$

その結果、総合値は必ず最も弱いリンクよりも低くなります。一方、並列(冗長)構成では、少なくとも1つの経路が機能していればシステムは稼働を維持できるため、各要素の「故障確率」を掛け合わせて計算します。

$$A_{\text{total}} = 1 - \left(1-\text{A}_1\right)\left(1-\text{A}_2\right)\left(1-\text{A}_3\right)\left(1-\text{A}_4\right)$$

冗長化することで、どの単一コンポーネントよりも高い可用性を実現できます。

可用性ノードを用いて直列と並列のコンポーネント構成を比較する図
直列(依存)コンポーネントは可用性を掛け合わせ、並列(冗長)コンポーネントは組み合わさって可用性を高めます。

使い方

まず構成(トポロジー)を選び、次に各コンポーネントの稼働率をパーセントで入力します(例:99.95)。最大4つまでのコンポーネントに対応しており、要素数が少ない場合は任意の入力欄を空欄のままにしておけば、その分だけを合算できます。結果には、総合可用性と、主要な期間ごとの想定ダウンタイムが表示されます。

計算例

たとえば、あなたのアプリが、それぞれ99.9%の3つのコンポーネントに直列で依存しているとします。これを小数に変換すると、\(0.999 \times 0.999 \times 0.999 = 0.997002999\)、つまり99.7003%になります。これはダウンタイムにして約0.2997%、年間でおよそ26.26時間に相当します。「スリーナイン(99.9%)」のサービスを直列に3つ積み重ねても、全体ではわずか「ツーナイン(99%台)」程度にしかなりません。冗長化が重要な理由はまさにここにあります。

よくある質問

直列構成の結果が、入力した各値より低くなるのはなぜ? 依存関係が増えるたびに故障の可能性が積み重なるためです。1未満の数値を掛け合わせると、総合値は必ず小さくなります。

並列構成は本当にそれほど稼働率を高めるの? はい。独立した99%の経路が2つあれば、\(1 - (0.01 \times 0.01) = 99.99\%\) となります。ただし、これは故障が完全に独立していることが前提です。

99.9%は時間に換算するとどれくらい? 年間で約8.77時間、月間でおよそ43.8分のダウンタイムに相当します。

最終更新: