稼働率とは
稼働率(かどうりつ)とは、システムが定められた運用時間のうち、実際に「正常に動作していた時間」の割合を示す指標のことです。システムの信頼性を評価するために非常に重要な数値で、通常は0から1の間(または0%から100%)で表されます。稼働率の計算には、システムが正常に動作していた平均時間である「MTBF(平均故障間隔)」と、故障してから復旧するまでにかかった平均時間である「MTTR(平均修復時間)」を用います。稼働率が高いシステムほど、止まることなく安定してサービスを提供できていることを意味します。
具体例
例えば、あるサーバーが1年間のうち(合計8760時間)、故障によって累積で87.6時間停止していたとします。この場合、実際に正常に動いていた時間は8672.4時間となります。このときの稼働率の計算式は以下のようになります。
稼働率
= 正常稼働時間 / 全運用時間
= 8672.4時間 / 8760時間
= 0.99 (99%)
また、MTBFとMTTRを用いた計算式は以下の通りです。
稼働率 = MTBF / (MTBF + MTTR)
もう少し詳しく
稼働率は、ITシステムやWebサービスにおいて、サービス品質保証(SLA:Service Level Agreement)を結ぶ際の最も重要な契約指標の一つです。クラウド事業者(Amazon Web ServicesやGoogle Cloudなど)は、顧客に対して「月間稼働率 99.9%(スリーナイン)を保証します」といった約束を掲げており、もしこの数値を下回った場合は利用料金を返金するなどのペナルティが設定されていることが一般的です。
稼働率の「9(ナイン)」の数は、システムの停止時間を具体的にイメージする上で非常に分かりやすい目安となります。例えば、24時間365日(1年間=8760時間)運用するシステムにおいて、稼働率のパーセンテージと許容される年間停止時間の関係は以下のようになります。
- 99%(ツーナイン): 年間で約 3日15時間 停止することが許容される。
- 99.9%(スリーナイン): 年間で約 8時間45分 停止することが許容される。一般的な企業の社内システムで目標とされる水準。
- 99.99%(フォーナイン): 年間で約 52分間 しか停止が許されない。非常に高い信頼性が求められるシステム。
- 99.999%(ファイブナイン): 年間でたったの 約5分間 しか停止が許されない。通信インフラや金融機関の基幹システムなどで要求される極めて厳しい水準。
稼働率を100%に近づける(9の数を増やす)ためには、サーバーを複数台並べる冗長化(クラスタリングやロードバランサの導入)、無停電電源装置(UPS)の設置、遠隔地のデータセンターへのバックアップなど、莫大な追加投資が必要になります。そのため、システムに求められる重要度とコストのバランス(費用対効果)を見極めて、適切な目標稼働率を設定することがシステム設計において極めて重要です。
試験でのポイント
基本情報技術者試験の午前問題では、稼働率に関する計算問題が毎回のように出題される「超頻出テーマ」です。まず基本となる公式「稼働率 = MTBF / (MTBF + MTTR)」は必ず暗記しておく必要があります。
さらに頻出なのが、複数のシステムを組み合わせた際の「システム全体の稼働率」を求める計算問題です。直列システムと並列システムの計算ルールを絶対に覚えてください。
・直列システム(両方が動いていないとシステム全体が止まる構成):
稼働率 = 稼働率A × 稼働率B
・並列システム(どちらか一方が動いていればシステム全体が稼働する冗長構成):
稼働率 = 1 - ( (1-稼働率A) × (1-稼働率B) )
並列システムの計算では、「両方が同時に故障する確率(1-稼働率の積)」を求め、それを全体の1(100%)から引くという手順を踏むのが間違いを防ぐコツです。
関連する用語
稼働率を計算するための要素である「MTBF(平均故障間隔)」と「MTTR(平均修復時間)」はセットで理解必須です。また、システムの一部が故障しても動作を継続させる設計思想である「フォールトトレラント」や、構成要素を二重化する「冗長化」が稼働率を高めるための具体的なアプローチとなります。