稼働率と信頼性設計をやさしく図解 — 直列・並列・MTBF・MTTR
「稼働率0.99を直列につないだら?」「並列にすると何が上がる?」——信頼性設計は、MTBFとMTTRという2つの時間と、直列は掛け算・並列は故障確率の掛け算という2つのルールで、ほぼ解けます。この記事では、稼働率の意味から計算のコツまでを図解します。数値を入れて確かめたい人は 稼働率計算ツール もどうぞ。
稼働率とは — 「動いていた時間の割合」
稼働率(Availability)は、ある期間のうち、システムが正常に動いていた時間の割合です。1(100%)に近いほど、めったに止まらない=可用性が高いことを表します。計算式はシンプルです。
稼働率 = MTBF ÷ (MTBF + MTTR)
分母の MTBF + MTTR は「動いていた時間 + 直していた時間」=全体の時間。分子の MTBF は「動いていた時間」。つまり全体のうち動いていた割合を表しているだけです。
MTBFとMTTR — 壊れにくさと、直す速さ
信頼性を語る2大指標です。混同しやすいので、意味をはっきり分けましょう。
| 指標 | 読み・意味 | 長い/短いとどうなる |
|---|---|---|
| MTBF | 平均故障間隔(Mean Time Between Failures)= 正常に動いていた平均時間 | 長いほど壊れにくい(信頼性が高い) |
| MTTR | 平均修復時間(Mean Time To Repair)= 壊れてから直るまでの平均時間 | 短いほど早く復旧(保守性が高い) |
稼働率を上げるには、MTBFを長く(壊れにくく)し、MTTRを短く(早く直せるように)すればよい、と式からそのまま読み取れます。
例:MTBF=99時間、MTTR=1時間なら、稼働率=99 ÷ (99+1)=99 ÷ 100=0.99(99%)です。
直列システム — つなぐほど下がる(掛け算)
直列とは「どれか1つでも壊れると、全体が止まる」つなぎ方です(例:Web→AP→DBと処理が一列に流れる構成)。この場合、全体の稼働率は各装置の稼働率の掛け算になります。
直列の稼働率 = a₁ × a₂ × … × aₙ
並列システム — 増やすほど上がる(冗長化)
並列とは「1つでも動いていれば、全体は動く」つなぎ方です(例:同じサーバーを2台用意して冗長化)。全体が止まるのは全部が同時に壊れたときだけ。そこで、各装置の「故障確率(1−稼働率)」を掛け算して「全部壊れる確率」を出し、それを1から引きます。
並列の稼働率 = 1 − (1−a₁) × (1−a₂) × …
同じ0.9の装置でも、直列だと0.81に下がり、並列だと0.99に上がる——この対比が信頼性設計の核心です。重要なシステムほど、要所を並列(冗長構成)にして可用性を確保します。
🧮 数値を入れて確かめるなら:稼働率計算ツールで、MTBF・MTTRから稼働率を出したり、複数装置を直列・並列につないだときの全体稼働率を自動計算できます。「装置を1つ足すと何%上がる?」を手を動かして体感してください。
直列と並列が混ざった構成
実際のシステムは、直列と並列が組み合わさっています。計算のコツは、①まず並列部分を1つの稼働率にまとめ、②その結果を直列として掛け合わせる——という順番です。たとえば「AとBは並列、それがCと直列」なら、先に 並列(A,B)=1−(1−a)(1−b) を出し、次に × c をします。かたまりごとに潰していけば、複雑な図も怖くありません。
故障率とバスタブ曲線
機器の故障率は、時間とともに「初期故障期(高め)→ 偶発故障期(低く安定)→ 摩耗故障期(また上がる)」と変化し、グラフが浴槽のような形になるためバスタブ曲線と呼ばれます。出荷前の慣らし運転(エージング)で初期故障を減らし、寿命が来る前に交換して摩耗故障を避ける、という運用の根拠になっています。
基本情報技術者試験ではこう出る
「MTBF=◯時間、MTTR=◯時間のとき稼働率は?」「稼働率0.9の装置を2台並列にしたときの稼働率は?」「直列・並列を組み合わせた系全体の稼働率は?」が定番の計算問題です。直列=稼働率の掛け算/並列=(1−稼働率)の掛け算を1から引く——この2式と、稼働率=MTBF÷(MTBF+MTTR) を覚えれば大半が解けます。用語では「フォールトトレラント」「フェールセーフ」「フェールソフト」の区別もよく問われます。
よくある質問
Q. 稼働率99.9%だと、年間どれくらい止まる?
A. 1年(約8,760時間)の0.1%なので、約8.76時間の停止に相当します。99.99%(フォーナイン)なら約53分、99.999%(ファイブナイン)なら約5分です。ナインが1つ増えるごとに、許される停止時間が約1/10になります。
Q. 「フェールセーフ」と「フォールトトレラント」の違いは?
A. フォールトトレラントは、故障してもシステムを止めずに動かし続ける設計(冗長化など)。フェールセーフは、故障したら「安全な側」に倒して被害を防ぐ設計(信号機が故障したら赤で止める等)。フェールソフトは、性能を落としてでも機能を縮小して動かし続ける設計です。
Q. MTBFとMTTFは同じ?
A. 近い概念ですが、MTBF(平均故障間隔)は修理して使い続ける機器向け、MTTF(平均故障時間)は使い捨て・交換前提の機器向け、という使い分けがあります。基本情報ではMTBFとMTTRの組で問われることがほとんどです。
まとめ
信頼性設計は、稼働率=MTBF÷(MTBF+MTTR)、直列=掛け算(下がる)、並列=1−(1−a)ⁿ(上がる)——この3つでほぼ解けます。重要な系ほど並列化して可用性を上げる、という判断の根拠がここにあります。式を覚えたら、ツールで数値を動かして「冗長化の効き目」を体感しておきましょう。
関連ページ: 稼働率計算ツール / ネットワークセキュリティの基礎 / 記事一覧