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%)です。
MTBF・MTTRの求め方 — 運用記録から計算する
試験では数値が与えられますが、実務では障害の記録から自分で計算します。どちらも「合計 ÷ 故障回数」です。
| 指標 | 求め方 |
|---|---|
| MTBF | 稼働していた時間の合計 ÷ 故障回数 |
| MTTR | 修理(停止)していた時間の合計 ÷ 故障回数 |
計算例:30日間(720時間)のうちに3回故障し、復旧までにそれぞれ2時間・3時間・1時間かかったとします。
| 手順 | 計算 | 結果 |
|---|---|---|
| 1. 停止時間の合計 | 2 + 3 + 1 | 6時間 |
| 2. 稼働時間の合計 | 720 − 6 | 714時間 |
| 3. MTBF | 714 ÷ 3 | 238時間 |
| 4. MTTR | 6 ÷ 3 | 2時間 |
| 5. 稼働率 | 238 ÷ (238 + 2) | 約0.9917(99.17%) |
稼働率は「714 ÷ 720」と直接計算しても同じ値になります。MTBFとMTTRに分けておくと、壊れにくさ(MTBF)と直す速さ(MTTR)のどちらに問題があるかが見えるのが利点です。なお、故障が偶然に起きる時期(故障率が一定)とみなせば、故障率 = 1 ÷ MTBF(この例では約0.0042回/時間)です。
直列システム — つなぐほど下がる(掛け算)
直列とは「どれか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 をします。かたまりごとに潰していけば、複雑な図も怖くありません。
稼働率の計算 例題3問(解き方つき)
例題1:MTBFが450時間、MTTRが50時間の装置の稼働率は?
稼働率 = 450 ÷ (450 + 50) = 450 ÷ 500 = 0.9(90%)。
例題2:稼働率0.9の装置AとBを並列にし、それに稼働率0.95の装置Cを直列につないだ系全体の稼働率は?
| 手順 | 計算 | 結果 |
|---|---|---|
| 1. 並列部分(A・B)をまとめる | 1 − (1 − 0.9) × (1 − 0.9) = 1 − 0.01 | 0.99 |
| 2. Cと直列に掛ける | 0.99 × 0.95 | 0.9405 |
例題3:稼働率0.8の装置を並列にして、全体の稼働率を0.99以上にしたい。最低何台必要?
n台並列の稼働率は 1 − 0.2ⁿ。2台だと 1 − 0.04 = 0.96 で足りず、3台だと 1 − 0.008 = 0.992 で0.99を超えます。答えは3台。「全部が同時に壊れる確率(0.2ⁿ)を0.01以下にする」と考えると速く解けます。
🧮 数字を変えて確かめるなら、稼働率計算ツール で直列・並列の組み合わせを自動計算できます。
稼働率と年間の停止時間(早見表)
SLA(サービス品質の約束)では、稼働率を「年間でどれだけ止まってよいか」に置き換えて考えます。1年=8,760時間で計算しています。
| 稼働率 | 呼び方 | 年間の停止時間 |
|---|---|---|
| 99% | ツーナイン | 約87.6時間(約3.7日) |
| 99.9% | スリーナイン | 約8.76時間 |
| 99.95% | 約4.38時間 | |
| 99.99% | フォーナイン | 約53分 |
| 99.999% | ファイブナイン | 約5分 |
MTTRを短くする — 実務でできること
機器そのものの壊れにくさ(MTBF)は製品で決まる部分が大きい一方、MTTRは運用で短くできます。止まっている時間は「気づくまで」「原因が分かるまで」「直すまで」の合計なので、それぞれを縮めます。
| 縮める時間 | 工夫の例 |
|---|---|
| 気づくまで | 監視とアラート(死活監視・ログ監視)で、利用者より先に検知する |
| 原因が分かるまで | 切り分け手順書、構成図、ログの集約 |
| 直すまで | 予備機・予備部品、設定のバックアップ、自動フェイルオーバー(冗長構成) |
故障率とバスタブ曲線
機器の故障率は、時間とともに「初期故障期(高め)→ 偶発故障期(低く安定)→ 摩耗故障期(また上がる)」と変化し、グラフが浴槽のような形になるためバスタブ曲線と呼ばれます。出荷前の慣らし運転(エージング)で初期故障を減らし、寿命が来る前に交換して摩耗故障を避ける、という運用の根拠になっています。
基本情報技術者試験ではこう出る
「MTBF=◯時間、MTTR=◯時間のとき稼働率は?」「稼働率0.9の装置を2台並列にしたときの稼働率は?」「直列・並列を組み合わせた系全体の稼働率は?」がよく出る計算問題です。直列=稼働率の掛け算/並列=(1−稼働率)の掛け算を1から引く——この2式と、稼働率=MTBF÷(MTBF+MTTR) を覚えれば大半が解けます。用語では「フォールトトレラント」「フェールセーフ」「フェールソフト」の区別もよく問われます。
よくある質問
Q. MTBFの求め方は?
A. 稼働していた時間の合計を、故障回数で割ります。たとえば714時間動いて3回故障したならMTBFは238時間です(計算例)。
Q. MTTRの求め方は?
A. 修理(停止)していた時間の合計を、故障回数で割ります。3回の故障で合計6時間止まったならMTTRは2時間です。
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つでほぼ解けます。重要な系ほど並列化して可用性を上げる、という判断の根拠がここにあります。式を覚えたら、ツールで数値を動かして「冗長化の効き目」を体感しておきましょう。
関連ページ: 稼働率計算ツール / ネットワークセキュリティの基礎 / 記事一覧
🖥️ 関連する可視化:冗長化(並列化)で可用性を上げる考え方は、負荷分散を行う リバースプロキシの可視化 や ネットワーク境界の可視化 でも触れられます。