「稼働率の問題は、直列なら掛けて、並列なら…あれ、どっちだったか」
情報処理安全確保支援士(SC)試験の午前1(科目A-1)で、システム構成要素は最も費用対効果の高いテーマです。理由は単純で、出題される計算の型が数種類しかなく、しかもその型が何年も変わっていないからです。逆に言えば、ここを取りこぼすと、他の分野で余計に稼がなければならなくなります。
なお、IPAの発表によると、2026年度から試験区分の名称が変更される予定です。SC試験では午前Ⅰが科目A-1、午前Ⅱが科目A-2、午後が科目Bという呼び方になり、あわせてCBT方式へ移行する予定とされています(出題範囲・出題数・試験時間に変更はないとされています)。制度変更の詳細は「【2026年度版】情報処理安全確保支援士試験のCBT化で何が変わる?科目A/科目Bの新名称と対策の変え方」で解説しているので、そちらを参照してください。いずれも現時点では予定であり確定情報ではありません。本記事では検索でたどり着きやすい「午前1」の呼称を主軸にしつつ、新名称を併記して進めます。
筆者は1999年、オンプレミス全盛期にインフラエンジニアとして仕事を始めました。ラックに据え付けられたサーバーに設定を入れ、ルーターの設定や設計を担当する日々です。ハードウェアの制約が強い時代で、機器を二重にするかどうかは費用と直結する判断でした。その後CIOとして投資判断の側に回り、のちに新卒エンジニアにインフラ基盤を教える立場も経験しました。稼働率の式は、その全部の場面で同じ形で顔を出してきました。試験のためだけの計算ではありません。
本シリーズの全体戦略は導入記事「元CIOが実践するスタミナ温存術!「コスパ極振り」最短エスケープルート・完全版ロードマップ」に、前回のコンピュータ構成要素は「コンピュータ構成要素を攻略!CPUとキャッシュメモリの計算問題・頻出パターン完全ガイド」にまとめています。本記事はテクノロジ系の2本目にあたります。
この記事で学べること
- 午前1のシステム構成要素で「取る問題」と「捨てる問題」の線引き
- 稼働率の定義と、MTBF・MTTR・故障率の関係を逆算まで含めて使う方法
- 直列・並列・混在構成の稼働率を、途中式つきで確実に解く手順
- 2 out of 3 システム、バスタブ曲線、RASISといった信頼性の周辺知識
- フェールセーフ・フェールソフト・フールプルーフの区別と、システム構成の類型
- RAID 0/1/5/6/10 の実効容量と耐障害性を計算で答える方法
午前1のシステム構成要素は「稼働率の計算」で取り切る
このテーマは範囲こそ広く見えますが、実際に問われる形はかなり限定されています。まずどこに時間を投じるかを決めてしまいましょう。
午前1は30問中18問で通過する試験
午前1は50分・30問、基準点は60点です。18問正解すれば通過であり、12問は落としてよい。この前提を常に頭に置いてください。全分野を均等に勉強するのではなく、出題数の多い分野に投資を寄せるのがコスパ極振りの基本方針です。テクノロジ系は30問中17問前後を占め、最大の得点源になります。
その中でシステム構成要素は、ほぼ毎回1問前後が出題される安定枠です。しかも、その1問の多くが稼働率の計算です。
取る問題:稼働率の計算は数字が変わるだけ
このテーマで最優先に投資すべきなのは、次の3つです。
- 稼働率とMTBF・MTTRの関係(定義そのままの計算と、その逆算)
- 直列・並列・混在構成の稼働率計算
- RAIDの実効容量と耐障害性
いずれも公式が1行で、途中式も2〜3行で終わります。電卓は使えませんが、扱う数値は0.9や0.8といった計算しやすい値に設計されているのが通例です。一度手順を身体で覚えれば、その後は数字が変わっても解けるという、寿命の長い投資になります。
捨てる問題:待ち行列の応用とキャパシティ設計の細部
一方で、次のような領域は深追いしないと決めてよいでしょう。
- M/M/1以外の待ち行列モデル(M/M/s、M/G/1など)の詳細
- ベンチマークの種類ごとの特徴やスコアの読み方
- グリッドコンピューティングやサーバー仮想化の細かい方式分類
待ち行列は後半のセクションで「ここまでは押さえる」というラインを示しますが、それ以上は費用対効果が悪い領域です。試験本番で見慣れない待ち行列の問題に出会ったら、選択肢を2つに絞って勘で選び、次へ進む。それも立派な戦略です。
稼働率を意識するようになったのは、ITIL以降だった
正直に書きます。筆者がインフラエンジニアとして現場にいた頃、稼働率という数字をあまり意識していませんでした。ITILという言葉が世に出てきて、可用性やサービスレベルが管理の対象として語られるようになってから、ようやく数字で語る習慣がついた、というのが実感です。保守契約の内容も、当時はざっくりしたものでした。
そしてこの点は、今でもあまり変わっていない気がします。保守契約に何がどこまで含まれるのか、その捉え方は会社によっても担当者によっても千差万別です。
MTTR(平均修復時間)についても同じです。ある公共機関のファイアウォールが障害でダウンし、翌日の朝までに復旧させる必要があって、徹夜で対応したことがあります。朝まで復旧というのは、当時はよくあることでした。試験では「MTTRは5時間」と与えられますが、その5時間の中身は、現場では人が張り付いて吸収していた時間でもあります。
だからこそ、これから学ぶ稼働率の式は、単なる暗記事項ではありません。徹夜の回数を減らすための式です。
テンプレート集
+おまけ:毎日1通の無料メール講座つき。登録した日が「1日目」、図解と論理で16週間かけて基礎も固まります。
稼働率とMTBF・MTTR:信頼性指標の土台
すべての計算の出発点は稼働率の定義です。ここが曖昧なままだと、直列・並列の計算に進んでも数字が合わなくなります。
稼働率は「動いていた時間の割合」
稼働率(Availability)は、システムが使える状態にあった時間の割合です。式は次のとおりです。
稼働率 = MTBF ÷(MTBF + MTTR)
- MTBF(Mean Time Between Failures/平均故障間隔):故障から次の故障までの、正常に動いていた平均時間
- MTTR(Mean Time To Repair/平均修復時間):故障してから復旧するまでの平均時間
MTBF+MTTRは、1回の故障サイクル全体の長さです。そのうち動いていた部分(MTBF)が占める割合が稼働率、という素直な構造になっています。
具体例で確認します。MTBFが180時間、MTTRが20時間のシステムの稼働率は次のとおりです。
稼働率 = 180 ÷(180 + 20)= 180 ÷ 200 = 0.9
ここでの定番のひっかけが、分母をMTTRにしてしまう誤り(180÷20=9)と、分子と分母を取り違えて故障していた割合(20÷200=0.1)を答えてしまう誤りです。0.1は稼働率ではなく不稼働率(1 − 稼働率)にあたります。この不稼働率は、後の並列計算で主役になるので覚えておいてください。
逆算パターンも同じ式で解ける
午前1では、稼働率とMTTRが与えられてMTBFを問う逆算型も出ます。式を変形するのではなく、そのまま代入して解くのが確実です。
例:稼働率0.95、MTTR5時間のとき、MTBFはいくつか。
0.95 = MTBF ÷(MTBF + 5) 0.95 ×(MTBF + 5)= MTBF 0.95 MTBF + 4.75 = MTBF 4.75 = 0.05 MTBF MTBF = 95時間
検算します。95 ÷(95 + 5)= 95 ÷ 100 = 0.95。合っています。計算問題では、必ず答えを元の式に戻して検算する癖をつけてください。試験本番の1分は、この検算に使う価値があります。
故障率はMTBFの逆数
故障率(λ:ラムダ)は、単位時間あたりに故障が発生する割合で、偶発故障期においてはMTBFの逆数になります。
λ = 1 ÷ MTBF
MTBFが2,500時間なら、λ = 1 ÷ 2,500 = 0.0004(=4×10⁻⁴)件/時間です。故障率を10億時間あたりの件数で表した単位がFIT(Failures In Time)で、部品の信頼性データではこの単位がよく使われます。
故障率が便利なのは、足し算ができる点です。複数の装置がすべて動いていないと成立しない構成(直列)では、システム全体の故障率は各装置の故障率の合計になります。MTBFが1,000時間の装置2台を直列に使うと、全体の故障率は 1/1000 + 1/1000 = 2/1000 となり、全体のMTBFは 1 ÷(2/1000)= 500時間に半減します。「装置を増やすほど壊れやすくなる」という直感どおりの結果です。
RASIS:信頼性を語る5つの評価軸
システムの信頼性を評価する観点をまとめた頭字語がRASISです。午前1では、各項目と対応する指標を結び付ける形で問われます。
| 項目 | 日本語 | 内容 | 代表的な指標 |
|---|---|---|---|
| Reliability | 信頼性 | 故障しにくさ | MTBF、故障率 |
| Availability | 可用性 | 使いたいときに使える度合い | 稼働率 |
| Serviceability | 保守性 | 復旧のしやすさ | MTTR |
| Integrity | 完全性 | データが正確で矛盾がないこと | ー |
| Security | 機密性 | 不正アクセスから守られていること | ー |
セキュリティを学んでいる読者にとっては、後半のI(完全性)とS(機密性)が情報セキュリティの3要素と重なる点が印象に残るはずです。可用性(A)も3要素の1つですから、RASISは信頼性設計とセキュリティが同じ土俵にあることを示す用語だと理解しておくとよいでしょう。
なお、Securityの訳語は教材によって「機密性」とも「安全性」とも書かれ、Integrityが「保全性」と訳される場合もありますが、指している内容は同じです。午前1ではReliability・Availability・Serviceability・Integrity・Securityの並びで覚えておけば足ります。
バスタブ曲線:故障率は時間とともに変化する
装置の故障率は一定ではありません。時間軸に対して故障率をプロットすると、浴槽(バスタブ)を横から見たような曲線になります。
- 初期故障期:製造上の欠陥や初期不良により故障率が高い。時間とともに減少する。対策はバーンイン(工場での初期エージング)やスクリーニング
- 偶発故障期:故障率がほぼ一定になる安定期。この期間を前提にMTBFや稼働率が計算される
- 摩耗故障期:部品の劣化により故障率が上昇する。対策は予防保守と計画的な更改

つまずきやすいのは「初期故障期は故障率が高いのか低いのか」です。新品なのだから壊れにくいはずだ、と直感で判断すると間違えます。新品には当たり外れがあり、外れは早々に壊れる。だから初期は高く、そこを過ぎると落ち着く。この理解で覚えてください。
直列・並列の稼働率計算:核となる鉄則は「並列化は1から引く」
ここが本記事の中心です。午前1で出る稼働率の計算は、突き詰めれば2つのルールの組み合わせでしかありません。
直列システムは掛け算
装置AとBが直列に接続され、両方が動いていないとシステムが機能しない構成では、全体の稼働率は各稼働率の積になります。
直列の稼働率 = A × B
稼働率0.9の装置2台を直列にすると、0.9 × 0.9 = 0.81。それぞれ90%動くのに、全体では81%まで落ちます。直列は、最も低い稼働率よりさらに低くなるという性質を持ちます。ここは感覚と一致するので間違えにくい箇所です。
並列システムは「1から引く」
問題は並列です。装置AとBが並列に接続され、どちらか一方でも動いていればシステムが機能する構成では、全体の稼働率は次の式になります。
並列の稼働率 = 1 −(1 − A)×(1 − B)
稼働率0.9の装置2台を並列にすると、次のとおりです。
1 −(1 − 0.9)×(1 − 0.9)= 1 − 0.1 × 0.1 = 1 − 0.01 = 0.99
覚えるべき鉄則はこれだけです。「並列化は1から引く」。この一言が言えるかどうかで、本番の1点が確定します。
なぜ1から引くのか。並列構成でシステムが止まるのは、全部が同時に壊れたときだけです。装置が壊れている確率は(1 − 稼働率)= 不稼働率ですから、全部が壊れる確率は不稼働率の積。それが「システムが止まる確率」なので、1から引けばシステムが動く確率になります。
つまり並列の計算は、「不稼働率の世界に移って、掛けて、戻ってくる」という往復運動です。直列がそのまま掛け算なのに対し、並列は裏返してから掛け算する。ここを構造で理解しておけば、装置が3台になっても4台になっても同じ手順で解けます。稼働率0.9の装置3台の並列なら、1 − 0.1³ = 1 − 0.001 = 0.999 です。

学び始めの人が最もよくやるのが、並列を足し算してしまう誤りです。0.9 + 0.9 = 1.8。確率が1を超えた時点でおかしいと気付けます。答えが1を超えたら計算が間違っている。これも本番で使えるセルフチェックです。
混在構成は「内側の並列から片付ける」
実際の出題は、直列と並列が混ざった構成図で出ます。手順は単純で、並列になっている塊を1つの装置に置き換えてから、直列の掛け算をするだけです。
パターン1:装置Aの後ろに、BとCが並列でつながる
A=0.9、B=C=0.8とします。
並列部(BとC)= 1 −(1 − 0.8)×(1 − 0.8)= 1 − 0.2 × 0.2 = 1 − 0.04 = 0.96 全体 = 0.9 × 0.96 = 0.864
パターン2:直列2台の系統を、まるごと2系統並列にする
各装置の稼働率をすべて0.9とします。1系統は0.9の装置2台の直列です。
1系統の稼働率 = 0.9 × 0.9 = 0.81 全体 = 1 −(1 − 0.81)×(1 − 0.81)= 1 − 0.19 × 0.19 = 1 − 0.0361 = 0.9639
パターン3:各段をそれぞれ二重化してから、直列につなぐ
同じく全装置0.9、装置の総数も4台でパターン2と同じですが、冗長化の位置が違います。
1段目(0.9の2台並列)= 1 − 0.1 × 0.1 = 0.99 2段目も同様に = 0.99 全体 = 0.99 × 0.99 = 0.9801
パターン2とパターン3は、使っている装置の数も稼働率もまったく同じです。それでも結果は0.9639と0.9801で、パターン3のほうが上回ります。同じ台数を投じるなら、系統をまるごと二重化するより、段ごとに二重化したほうが可用性は高い。これは試験で比較させる形で問われることがあり、実務でも「どこにお金を掛けるか」の判断に直結する論点です。

2 out of 3 システムと多数決
2 out of 3(3台のうち2台以上が正常なら機能する)構成は、単純な並列とは計算が変わります。3台の演算結果を多数決で判定し、1台が異なる値を出しても正しい結果を出力し続ける方式で、TMR(Triple Modular Redundancy/三重系)とも呼ばれます。
各装置の稼働率を0.9として計算します。システムが機能するのは「3台とも正常」または「ちょうど2台が正常」の場合です。
3台とも正常 = 0.9³ = 0.729 ちょうど2台が正常 = 3 × 0.9² × 0.1 = 3 × 0.81 × 0.1 = 0.243 (どの1台が故障するかで3通りあるため3を掛ける) 全体 = 0.729 + 0.243 = 0.972
3台の単純並列(1台でも動けばよい)なら 1 − 0.1³ = 0.999 ですから、2 out of 3 はそれより低くなります。これは当然で、条件が厳しい(2台以上必要)ぶん可用性は下がるからです。代わりに得られるのが、誤った出力を外に出さないという別種の信頼性です。可用性を少し犠牲にして完全性を買う構成だ、と理解しておくと選択肢の判別が速くなります。
このように、故障や誤りを内部で吸収して外部に影響を出さないことをフォールトマスキングと呼びます。
障害への設計思想:フォールトトレラントとフェールセーフ
用語問題の定番セクションです。似た言葉が並ぶため、何を守るのかという軸で整理すると混同しません。
フォールトアボイダンスとフォールトトレランス
- フォールトアボイダンス(Fault Avoidance):故障そのものを起こさせない考え方。高品質な部品の採用、十分なテスト、予防保守などで信頼性を高める
- フォールトトレランス(Fault Tolerance):故障が起きることを前提に、起きても致命的な結果を招かないようにする考え方。機能を維持する方向(フェールソフト)と、安全側に止める方向(フェールセーフ)の両方を含み、冗長化がその代表
この2つは対になる思想です。前者が「壊さない」、後者が「壊れても致命傷にしない」。どちらか一方ではなく、実際のシステムは両方を組み合わせて設計されます。
フェールセーフ、フェールソフト、フールプルーフ
障害発生時の振る舞いを表す用語群です。
- フェールセーフ(Fail Safe):故障時に安全な側に倒す。信号機が故障したら全方向を赤にする、石油ストーブが転倒したら消火する、といった例が典型。守るのは人命や安全
- フェールソフト(Fail Soft):故障時に機能や性能を落としてでも処理を継続する。この縮退運転の状態をフォールバック運転と呼ぶ。守るのはサービスの継続
- フールプルーフ(Fool Proof):誤操作をそもそも受け付けない設計。ドアが閉まっていないと動かない電子レンジ、削除前の確認ダイアログなど。守るのは人為ミスからの保護
区別のコツは、きっかけが何かと結果どうなるかの2軸です。フェールセーフとフェールソフトはきっかけが「装置の故障」で、結果が「止める」か「続ける」かで分かれます。フールプルーフだけはきっかけが「人間の操作」であり、故障の話ですらありません。

ここまでに出てきた5語(フォールトアボイダンス、フォールトトレランス、フェールセーフ、フェールソフト、フールプルーフ)のうち、必ず取り違えが起きるのがフェールセーフとフェールソフトです。「セーフ」という響きから「安全に動き続ける」と読んでしまうためです。安全側に倒すとは、多くの場合止めることだと押さえてください。
システム構成の類型:デュアル・デュプレックスからクラスタまで
構成の名前を問う問題も定番です。それぞれ「何台で」「何をしているか」で覚えます。
デュアルシステムとデュプレックスシステム
- デュアルシステム:2系統が同じ処理を同時に実行し、結果を突き合わせて(クロスチェックして)一致を確認する。片方が故障したら切り離して処理を続行する。コストは高いが、誤りの検出能力が高い
- デュプレックスシステム:**現用系(主系)と待機系(従系)**からなる構成。現用系がオンライン処理を行い、待機系は通常バッチ処理などをこなしつつ、障害時に切り替わる
覚え方は名前どおりです。デュアル(dual=二重の)は2つが同じことをする。デュプレックス(duplex=二系統の)は役割が分かれている。
ホットスタンバイ、ウォームスタンバイ、コールドスタンバイ
デュプレックス構成における待機系の待ち方の違いです。
- ホットスタンバイ:待機系も電源が入り、OSやアプリケーションが起動済みで、いつでも即座に切り替えられる状態。切替時間は最短だが運用コストは高い
- ウォームスタンバイ:待機系は起動しているが、アプリケーションの起動やデータの同期が必要で、切替に多少の時間がかかる
- コールドスタンバイ:待機系は停止しており、障害時に電源投入・環境構築を行ってから切り替える。コストは最も低いが切替時間は長い
温度のたとえがそのまま切替の速さと運用コストに対応します。切替時間の長さは、そのままMTTRの長さ、ひいては稼働率の低下に直結します。
クラスタ構成とロードバランサ
クラスタは複数のサーバーを束ねて1つのシステムのように見せる構成で、大きく2種類あります。
- HAクラスタ(高可用性クラスタ):可用性の確保が目的。ノード障害時に他のノードが処理を引き継ぐ(フェールオーバー)
- 負荷分散クラスタ:処理性能の向上が目的。複数ノードに処理を分散する
負荷分散を担う装置がロードバランサ(負荷分散装置)です。振り分けの方式には、順番に配るラウンドロビン、接続数が最も少ないノードへ配る最少接続数(Least Connection)、ノードの性能差に応じて重みを付ける加重ラウンドロビンなどがあります。
セキュリティの観点では、ロードバランサがSSL/TLSの終端を担う構成が実務では一般的です。その場合、ロードバランサから内側の区間は、再暗号化しない構成であれば平文で流れるため、内部区間の保護をどうするかという設計論点が生じます。午後試験でも登場する構成なので、名前だけでなく通信経路のイメージを持っておくと役に立ちます。

シェアードエブリシングとシェアードナッシング
複数ノードで並列処理を行う際、資源(特にディスク)を共有するかどうかによる分類です。
- シェアードエブリシング:全ノードがディスクなどの資源を共有する。どのノードからも同じデータにアクセスできるためデータ配置の設計は楽だが、ノードを増やすと共有資源へのアクセス競合(ロック競合)がボトルネックになり、スケールしにくい
- シェアードナッシング:各ノードが自分専用のディスクを持ち、資源を共有しない。データを分割して各ノードに配置するため、ノードを増やせば性能がほぼ比例して伸びる(スケールアウトしやすい)。一方で、複数ノードにまたがる処理やデータ再配置の設計が難しくなる
大規模な分散データベースやビッグデータ基盤がシェアードナッシングを採るのは、この拡張性のためです。試験では「拡張性が高いのはどちらか」という形で問われます。何も共有しないから邪魔し合わない、と覚えてください。
RAIDの構成と実効容量を計算で押さえる
RAIDは、複数のディスクをまとめて信頼性や性能を高める技術です。午前1では実効容量と耐えられる故障台数を問う形が中心なので、そこに絞って押さえます。
RAID 0とRAID 1:ストライピングとミラーリング
- RAID 0(ストライピング):データを複数のディスクに分散して書き込む。速度は上がるが冗長性はなし。1台壊れれば全滅する。実効容量は全ディスクの合計
- RAID 1(ミラーリング):2台に同じ内容を書き込む。1台壊れても継続できる。実効容量は半分
RAID 0は厳密には冗長性がないため、頭文字のRedundant(冗長)に反する構成です。ここを「0だから最も基本的で安全」と誤解しないでください。
RAID 5とRAID 6:パリティによる復元
- RAID 5:データとパリティ(故障したディスクの内容を復元するための冗長情報)を全ディスクに分散して書き込む。1台の故障までデータを復元できる。実効容量は「ディスク台数 − 1」台分。最低3台必要
- RAID 6:パリティを2種類持つ。2台同時故障まで耐えられる。実効容量は「ディスク台数 − 2」台分。最低4台必要
RAID 5が普及した理由は、少ない容量犠牲(1台分)で1台の故障に耐えられる効率の良さです。一方、大容量ディスクでは1台故障後の復元(リビルド)に長時間かかり、その間に2台目が壊れるリスクが無視できなくなったため、RAID 6の採用が増えました。
RAID 10:ミラーとストライプの組み合わせ
RAID 10(RAID 1+0)は、ミラーリングしたペアをストライピングでまとめる構成です。実効容量は半分ですが、性能とリビルドの速さに優れます。各ミラーペアで1台ずつまでなら故障に耐えられますが、同一ペアの2台が同時に壊れると復元できない点が特徴です。
実効容量の計算パターン
出題される形はほぼ「1台○○GBのディスクを△台使ったときの実効容量」です。1台500GBのディスク8台の例で整理します。
| RAIDレベル | 実効容量 | 耐えられる故障台数 |
|---|---|---|
| RAID 0 | 500GB × 8 = 4TB | 0台 |
| RAID 1(4組のミラー) | 500GB × 4 = 2TB | 各ペア1台まで |
| RAID 5 | 500GB ×(8 − 1)= 3.5TB | 1台 |
| RAID 6 | 500GB ×(8 − 2)= 3TB | 2台 |
| RAID 10 | 500GB × 4 = 2TB | 各ペア1台まで |
[注: この図は5レベル分のディスクブロックを厳密な個数・配置で並べる必要があり、セル配置の厳密さが要求される図です。Nano Banana(Gemini)では配置崩れが起きやすいため、ChatGPTでの生成を推奨します。]

計算そのものは引き算と掛け算だけです。間違えるとすれば、RAID 5とRAID 6のパリティ台数を逆にする、RAID 10の実効容量を「台数−2」としてしまう、といった構成の取り違えです。RAID 5はマイナス1、RAID 6はマイナス2、ミラー系は半分と3点で覚えれば十分です。
RAIDはバックアップではない
実務で最も強調すべき論点であり、試験でも選択肢の判別に効きます。RAIDが守るのはディスクの物理故障だけです。誤削除、ランサムウェアによる暗号化、アプリケーションのバグによるデータ破壊は、すべてのディスクに正しく複製されてしまいます。
ここは必ず押さえてください。RAIDは可用性の仕組みであり、バックアップは完全性と復旧の仕組み。守っている対象がそもそも違います。
なお、試験ではRAID 0からRAID 10までが横並びで問われますが、オンプレミス全盛期の現場で実際に多く採用されていたのはRAID 5でした。RAID 1はOS領域のミラーリングなどで使われる一方、RAID 0を単体でデータ領域に使う場面はほとんどありません。
また、RAIDは耐障害性のためだけの仕組みではありません。複数のディスクに分散して読み書きすることによる高速化の意味合いもあります。RAID 0が試験で繰り返し「冗長性なし」と問われるのは、この高速化のための構成が、冗長化と混同されやすいからです。
待ち行列理論とキャパシティプランニングの基礎
最後に、投資判断が分かれるテーマを扱います。「どこまで押さえてどこから捨てるか」を明確にします。
M/M/1の読み方
待ち行列モデルはケンドール記法で表され、M/M/1 は「到着間隔がランダム(指数分布)/サービス時間がランダム(指数分布)/窓口が1つ」を意味します。ATMが1台の行列を想像すれば十分です。
利用率と待ち時間の関係だけは押さえる
押さえるべきは次の2式です。ρ(ロー)は利用率(窓口が使われている時間の割合)、Tsは平均サービス時間(1件の処理にかかる時間)です。
平均待ち時間 Tw = ρ ÷(1 − ρ)× Ts 平均応答時間 = Tw + Ts = Ts ÷(1 − ρ)
計算例です。Ts=0.2秒、利用率ρ=0.5のとき、
Tw = 0.5 ÷(1 − 0.5)× 0.2 = 1 × 0.2 = 0.2秒 平均応答時間 = 0.2 + 0.2 = 0.4秒
同じシステムで利用率が0.8まで上がると、
Tw = 0.8 ÷(1 − 0.8)× 0.2 = 4 × 0.2 = 0.8秒 平均応答時間 = 0.8 + 0.2 = 1.0秒
利用率が0.5から0.8へ、1.6倍になっただけで待ち時間は4倍になりました。式の分母が(1 − ρ)である以上、利用率が1に近づくと待ち時間は無限大に発散します。リソースを使い切る設計にしてはいけないという、キャパシティプランニングの根本原則がここから出てきます。
CPU使用率100%を目指した設計が破綻する理由も、サーバーの台数に余裕を持たせる理由も、この1本の式で説明できます。試験のためだけでなく、現場でキャパシティを議論するときの共通言語として使える知識です。
捨ててよい範囲を決めておく
一方で、M/M/sのような複数窓口モデルの公式、リトルの法則の応用、待ち人数の分布といった領域は、午前1での出題頻度に対して習得コストが見合いません。上の2式と「利用率が上がると待ち時間が急激に伸びる」という定性的な理解までを到達点とし、それ以上の問題が出たら潔く捨てる。それがこのテーマの正しい投資配分です。
SC試験での出題パターンと対策
実際にどう問われ、どう時間を使うかを整理します。
午前1で狙われる論点
過去の午前1では、システム構成要素から次のような形で繰り返し出題されています。具体的な年度の特定は避けますが、型としては安定しています。
- MTBF・MTTRから稼働率を求める計算、またはその逆算
- 直列・並列・混在構成の稼働率を構成図から求める計算
- RAIDレベルごとの実効容量や耐障害性を問う計算・用語問題
- フェールセーフ、フェールソフト、フールプルーフ、フォールトトレランスの定義を問う用語問題
- デュアルシステムとデュプレックスシステム、ホットスタンバイとコールドスタンバイの区別
- バスタブ曲線の各期間の特徴と対策
- M/M/1における利用率と応答時間の関係
計算問題と用語問題が半々で出ます。用語問題は選択肢の言い換えで判別する形が多いため、それぞれの定義を1行で言えるかどうかが勝負になります。
学び始めの人がつまずく3つのポイント
- 並列の稼働率を足し算してしまう:正しくは 1 −(1 − A)(1 − B)。「並列化は1から引く」と唱えてから式を書き始めてください。答えが1を超えたら間違いです
- フェールセーフとフェールソフトを取り違える:「セーフ」は安全側に倒す=多くの場合は止める。「ソフト」は性能を落として続ける。きっかけが人の誤操作ならフールプルーフ
- RAID 5とRAID 6のパリティ台数を逆にする:5はマイナス1台・1台故障まで、6はマイナス2台・2台故障まで。数字が小さいほうが犠牲も耐性も小さい、と対応させて覚えます
時間配分:構成図の問題も100秒で切る
午前1は50分で30問、単純計算で1問100秒です。稼働率の計算問題は、構成図を読み取る時間を含めても、慣れれば60秒程度で解けます。ここで貯めた時間を、マネジメント系・ストラテジ系の長文問題に回すのが理想的な配分です。
逆に、構成図が複雑で並列と直列の関係がすぐに読み取れない問題に出会ったら、100秒を過ぎた時点で切り上げてマークし、後で戻る判断をしてください。午前1の最大の敗因は、解ける問題に到達する前に時間を溶かすことです。
【演習】システム構成要素と稼働率計算 理解度チェック(全10問)
午前1(科目A-1)では稼働率や実効容量の計算が数値を変えて繰り返し出題され、信頼性設計やシステム構成は用語の定義を問う形で登場します。定番のひっかけは、並列の稼働率を足し算させる選択肢、稼働率と不稼働率の取り違え、フェールセーフとフェールソフトの入れ替え、RAID 5とRAID 6のパリティ台数の逆転、そして待ち行列で平均待ち時間と平均応答時間を混同させる形です。以下の練習問題で本記事の理解度を確認してみましょう。
まとめ:稼働率は「掛けるか、1から引くか」だけ
システム構成要素は、SC試験の午前1で最も投資効率の高いテーマです。理由は本記事で見てきたとおり、計算の型が少なく、しかも安定しているからです。
持ち帰るべきものは多くありません。直列は掛け算、「並列化は1から引く」。混在構成は内側の並列から片付ける。RAIDは5がマイナス1台、6がマイナス2台、ミラー系は半分。フェールセーフは止める、フェールソフトは続ける、フールプルーフは誤操作を防ぐ。この程度の分量で、このテーマの出題の大半はカバーできます。
そして、ここで学ぶ内容は試験だけの知識ではありません。オンプレミス全盛期の現場でも、電源とNICとディスクをどこまで二重化するかは、常にコストとの綱引きでした。同じ台数を投じるなら、系統ごとではなく段ごとに冗長化したほうが可用性が高い。この記事の計算はそのまま、限られた予算をどこに置くかという判断の根拠になります。稼働率の式は、経営に対して投資の必要性を数字で説明するための言語でもあります。
次回は第1部の3本目、「ソフトウェアとハードウェア」としてOSのタスク管理、スケジューリング方式、そして論理回路を扱います。こちらも計算と定義に絞って、最短ルートで拾いにいきます。
本記事は情報処理安全確保支援士(SC)試験対策を目的として作成しています。
参考資料
テンプレート集
+おまけ:毎日1通の無料メール講座つき。登録した日が「1日目」、図解と論理で16週間かけて基礎も固まります。