SheepDev

インフラ・運用見積もり

稼働率99.9%なら、1か月に何分まで停止できる?

使うツール

稼働率99.9%という数字を見ると、ほとんど止まらないように感じます。しかし、30日で見ると約43分の停止に相当します。数字の印象だけで運用目標を決める前に、対象期間を秒へ戻して考えてみましょう。同じ99.9%でも、何を数えるか、どの期間で測るかによって意味は変わります。

30日・99.9%は43分12秒

稼働率・停止許容時間で、稼働率99.9、観測期間30日を指定します。停止許容時間は2,592秒、43分12秒です。30日は2,592,000秒で、稼働していない割合は0.1%、すなわち0.001です。99.9をそのまま掛けるのではなく、100%から引いた残りを時間へ換算します。

時間ベースの計算式
30 × 86,400 × (1 - 99.9 / 100)
= 2,592 seconds

同じ30日で99%なら7時間12分、99.99%なら4分19.2秒です。9が一つ増えるごとに、残りの停止時間は十分の一になります。見た目では小さな百分率の違いでも、障害対応や復旧に使える時間の目安としては大きく変わることを確認できます。

『一か月』を30日と決めつけない

99.9%のまま31日へ変えると、2,678.4秒、44分38.4秒になります。28日なら2,419.2秒、40分19.2秒です。月次の条件を見るときに、30日という既定値が対象の月と一致しているかを確認します。このツールの日数は一日86,400秒として計算し、暦月の開始・終了や夏時間による一日の長さを自動判定しません。

年間の合計が目標以内でも、特定の月の目標を満たすとは限りません。停止が一か月へ集中すれば、年間では小さな割合でも月次では大きくなります。年間許容時間を12で割った値だけで月ごとの達成を判断するのではなく、評価する窓ごとに停止時間と分母をそろえます。

30分止まったら、稼働率はいくつか

逆算モードで停止時間1,800秒、観測期間30日を指定すると、稼働率は約99.93056%です。同じ30分でも一日の観測なら約97.91667%になります。『30分止まった』という事実だけでは百分率は決まらず、その停止をどの期間で評価するかが必要です。秒と分の取り違えにも注意し、入力欄が求める単位へ変換してから入力します。

複数の障害記録を足す場合、同じ時間帯に重なった記録を二重に数えないようにします。二つの監視が同じ10分間を検知したからといって、サービスが20分止まったとは限りません。ツールは個別の障害区間を統合しないため、時間ベースで評価したい対象の停止時間を先に整理して入力します。

時間の99.9%と、リクエストの99.9%は別

このツールは時間ベースの指標を扱います。100万件のうち1,000件が失敗した場合の成功率99.9%を、そのまま43分12秒の停止へ変換することはできません。失敗したリクエストが一瞬へ集中したのか、低頻度で一か月続いたのかによって、時間としての見え方は違います。分母が秒なのか件数なのかを先に確認します。

同じ10分の停止でも、利用者の多い時間帯とほとんどアクセスがない時間帯では影響件数が違います。また、一部機能だけが使えない場合にサービス全体を停止と数えるかも、指標の定義です。時間指標が悪いということではなく、それだけでは説明しない側面があると理解して使います。

『許容』は、止めてよいという許可ではない

計算上の停止許容時間は、指定した率と期間に対応する量です。契約上の補償や、計画メンテナンスを除外するか、連続何分から障害として数えるかを決めるものではありません。実際のSLAや運用目標を見るときは、その文書で対象サービス、計測方法、除外条件、評価期間を確認します。

100%を入力すると停止許容は0秒ですが、今後停止しない保証を得たわけではありません。0%なら観測期間全体が停止に相当します。0から100の範囲外や、停止時間が観測期間を超える入力は、このモデルでは不正です。境界の結果を理解すると、百分率の桁や入力単位の間違いを発見しやすくなります。

報告には、率・期間・測り方を並べる

『99.9%です』より、『30日間を一日86,400秒で数える時間ベースのモデルでは、停止2,592秒に相当します』と書く方が、何を比較したかが分かります。観測した停止と目標の停止許容を混ぜず、実測値なのか計算上の目安なのかも添えます。数字を運用判断へつなげるには、百分率の前提が必要です。

二つの監視が同時に落ちたら、停止時間は二倍?

同じサービスを二つの場所から監視し、両方が同じ10分間の失敗を記録していたとします。サービス停止時間として数えるなら、単に10分を二つ足して20分にはできません。同じ時間帯が重なっているためです。一方、二つの独立したサービスの稼働率を別々に報告するなら、それぞれ10分です。この計算機は停止の区間一覧を統合する機能ではなく、入力した観測期間や率から時間を求めます。入力する前に、何の停止時間を集計しているかをそろえる必要があります。

監視が一分おきなら、失敗を見つけた時刻が実際の停止開始そのものとは限りません。最後の成功と最初の失敗の間に停止が始まり、回復も観測間隔の途中で起きた可能性があります。計算式が正確でも、元の停止時間には観測方法による幅が残ります。報告で秒単位の許容時間を示す場合も、実測した停止が何秒まで正確かを別に説明します。小数点以下を多く表示して、監視の精度が上がったように見せないことが重要です。

また、月の途中で集計した99.9%を、月末の確定値と同じように扱わないようにします。これから観測期間が増え、停止が追加されれば比率も変わります。『10月1日から15日までの観測』という期間を付ければ、月全体の目標と比較する際にも条件が分かります。このツールで求めた停止時間は、契約上の除外条件や補償を判断した結果ではありません。測った時間の関係を明確にするために使い、契約の適用は別の確認へ残します。

参考資料

使うツール

使い方・解説 →