稼働率と信頼性設計をやさしく図解 — 直列・並列・MTBF・MTTR

公開: 2026年7月 カテゴリ: 基礎理論

「稼働率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(動いていた時間) MTTR 稼働率 = 緑の合計 ÷ 全体(緑+赤)
図1: MTBF=平均の稼働時間、MTTR=平均の修復時間。緑の割合が稼働率

例:MTBF=99時間、MTTR=1時間なら、稼働率=99 ÷ (99+1)=99 ÷ 100=0.99(99%)です。

直列システム — つなぐほど下がる(掛け算)

直列とは「どれか1つでも壊れると、全体が止まる」つなぎ方です(例:Web→AP→DBと処理が一列に流れる構成)。この場合、全体の稼働率は各装置の稼働率の掛け算になります。

直列の稼働率 = a₁ × a₂ × … × aₙ

直列:どちらか一方でも止まると全体が止まる 装置A 0.9 装置B 0.9 全体 = 0.9 × 0.9 = 0.81(つなぐほど下がる)
図2: 直列は掛け算。0.9×0.9=0.81。装置を増やすほど全体の稼働率は下がる

並列システム — 増やすほど上がる(冗長化)

並列とは「1つでも動いていれば、全体は動く」つなぎ方です(例:同じサーバーを2台用意して冗長化)。全体が止まるのは全部が同時に壊れたときだけ。そこで、各装置の「故障確率(1−稼働率)」を掛け算して「全部壊れる確率」を出し、それを1から引きます。

並列の稼働率 = 1 − (1−a₁) × (1−a₂) × …

並列:どちらか一方でも動いていれば全体は動く 装置A 稼働率 0.9 装置B 稼働率 0.9 1 − (0.1 × 0.1) = 1 − 0.01 = 0.99
図3: 並列は「故障確率の掛け算」。0.9が2台で0.99に。冗長化で可用性が上がる仕組み

同じ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つでほぼ解けます。重要な系ほど並列化して可用性を上げる、という判断の根拠がここにあります。式を覚えたら、ツールで数値を動かして「冗長化の効き目」を体感しておきましょう。

関連ページ: 稼働率計算ツールネットワークセキュリティの基礎記事一覧