第8章 システムの性能と信頼性

この章のねらい 情報システムを「速さ(性能)」と「壊れにくさ・止まりにくさ(信頼性)」という2つのモノサシで 評価する章です。ここは経営情報システムの計算問題の主戦場で、とくに稼働率の計算(直列・並列)は ほぼ毎年のように顔を出します。用語(スループット/MTBF/フェールセーフ など)も定義の暗記で 得点しやすく、計算のやり方さえ手順で覚えれば、安定した得点源になる分野です。

過去問での出方:大きく3パターンです。①性能用語の対応づけ(H19第10問、H27第11問)、 ②稼働率の計算(R07第9問、R01第13問、R07第24問)、③信頼性設計・冗長化の用語 (R07第10問、H27第12問、H26第7問、H19第11問)。①③は用語のすり替えを見抜けば正解でき、 ②は計算式さえ手が動けば確実です。難しく見えて、実は"型"が決まっている分野です。


8-0 この章の地図

この章は、「性能(速さ)」→「信頼性の測り方(稼働率)」→「信頼性を高める技術」の順に進みます。 まず"何を測るのか(8-1・8-2)"を押さえ、その上で"どう壊れにくくするか(8-3)"へ進むと迷いません。

8-1 性能評価            … 速さのモノサシ
   │  レスポンス/スループット/ターンアラウンド/MIPS・FLOPS/ベンチマーク
   │
8-2 稼働率と信頼性 ★計算 … 止まりにくさのモノサシ
   │  MTBF・MTTR/稼働率=MTBF÷(MTBF+MTTR)
   │  直列=掛け算/並列=1−(1−a)^n
   │
8-3 高信頼化技術        … 壊れても止めない工夫
      RAID/デュアル・デュプレックス/フォールトトレラント
      フェールセーフ・フェールソフト/バックアップ

💡 大きな地図:性能(8-1)と信頼性(8-2・8-3)をまとめて評価する枠組みが RASIS です。 RASISは8-2の冒頭で扱いますが、この章全体を束ねる"見出し"だと思っておくと整理しやすくなります。


8-1 性能評価 ― システムの「速さ」を測る

3つの時間系のモノサシ

システムの"速さ"は、どこからどこまでを測るかで呼び名が変わります。ここが定番の引っかけポイントです。

用語 何を測るか(区間) ひとことで
レスポンスタイム(応答時間) 処理要求を出し終えた時点 → 応答が始まるまで 反応が返り始めるまでの速さ
ターンアラウンドタイム 処理要求を開始した時点 → 結果の出力が終わるまで 依頼してから全部終わるまでの速さ
スループット 単位時間あたりに処理できる仕事の量(件数) どれだけさばけるか(処理量)
[要求を入力し始める]                         [結果が全部出終わる]
   │                                                │
   │───────── ターンアラウンドタイム ───────────────│
        │                    │
        │[要求を出し終える]    │[応答が出始める]
        └── レスポンスタイム ──┘
  • レスポンスタイムは「反応が返り始めるまでの時間」。オンライン処理・対話処理で重視されます。
  • ターンアラウンドタイムは「依頼してから結果が全部そろうまでの時間」。バッチ処理で重視されます。
  • スループットは「時間(速さ)」ではなく「量(件数)」のモノサシ。ここが最大の区別点です。

スループットは「量」、レスポンスは「速さ」

スループットは、単位時間あたりに処理できる仕事量を表します。CPUの命令処理だけでなく、 入出力(周辺機器とのやり取り)まで含めた総合的な実効処理能力を示すのがポイントです。

⚠️ 混同注意:スループット vs レスポンスタイム - スループット=処理"量"(件数/単位時間)… 多いほど良い - レスポンスタイム/ターンアラウンドタイム=待ち"時間" … 短いほど良い H27第11問は「スループット=レスポンスタイムで評価する」という選択肢を誤りにしています。 "量"と"時間"は別のモノサシ、と紐づけて覚えましょう。

オーバーヘッド

オーバーヘッドとは、指示した処理そのものとは直接関係のない、 システム全体の制御・管理に使われる資源(時間・CPU)のことです。 たとえばOSがタスクを切り替える処理などがこれにあたり、オーバーヘッドが大きいほど実効的な処理能力は下がります。

CPUの処理速度:MIPS と FLOPS

CPUそのものの速さを表す単位も出題されます。名前と中身を一対一で押さえます。

単位 読み・意味 何を測るか
MIPS Million Instructions Per Second 1秒間に実行できる命令の数(百万命令/秒)
FLOPS FLoating point Operations Per Second 1秒間の浮動小数点演算の回数(科学技術計算向け)
クロック周波数(GHz) 1秒間のクロック数 CPU内部の動作の速さの目安
  • MIPS=命令の数FLOPS=小数計算の回数。この違いだけでも選択肢を切れます。
  • ただし、これらは理論値・単純な尺度で、実際の体感速度(スループット)と一致するとは限りません。

ベンチマーク ― 実際に動かして測る

ベンチマーク(ベンチマークテスト)とは、標準的なプログラムを実際に動かして性能を測定・比較する方法です。 MIPSやFLOPSのような理論値だけでは分からない、実務に近い総合性能を評価できます。

💡 覚え方:カタログの数字(MIPS・FLOPS)は"スペック"、ベンチマークは"実走テスト"。 車でいえば「最高出力の数値」と「実際にコースを走ったタイム」の違いです。

📝 過去問はこう出る(H19 第10問) 4つの記述と用語を対応させる問題。正解は a=スループット(単位時間あたりの仕事量)、b=オーバーヘッド(制御・管理に使われる資源)、 c=ターンアラウンドタイム(要求開始→結果出力完了)、d=レスポンスタイム(要求送出完了→応答開始)。 「c=レスポンスタイム」のように区間を取り違えた選択肢が引っかけです。 → H19 第10問

📝 過去問はこう出る(H27 第11問) スループットの説明として正しいものを選ぶ問題。正解は 「命令の処理量や周辺機器とのやり取り等を総合的に加味した、単位時間あたりの処理件数」。 「マルチタスクの多重度で評価」「主記憶の書き換え速度で評価」「レスポンスタイムで評価」は すべてスループットの定義とズレていてバツ。 → H27 第11問


8-2 稼働率と信頼性 ★計算の主役

まず全体像:RASIS(ラシス)

システムの"安定して使えるか"を評価する5つの観点をまとめたものが RASIS です。頭文字で覚えます。

頭文字 英語 日本語 ざっくり言うと
R Reliability 信頼性 故障しにくさ(=MTBFで測る)
A Availability 可用性 使いたいときに使える度合い(=稼働率で測る)
S Serviceability 保守性 直しやすさ(=MTTRで測る)
I Integrity 保全性(完全性) データが壊れず正しく保たれること
S Security 安全性(機密性) 不正アクセス・情報漏えいへの強さ

⚠️ 混同注意:R01第13問では「MTBFとMTTRの数値だけ」が与えられます。 このとき計算できるのは信頼性(MTBF)と可用性(稼働率)だけ安全性(S)と保全性(I)は、MTBF・MTTRからは判断できません。ここが引っかけの急所です。

MTBF と MTTR ― 2つの平均時間

略語 正式名 意味 覚え方
MTBF Mean Time Between Failures 平均故障間隔(=平均して何時間"動き続けられる"か) Between=故障と故障の"間"=動いている時間
MTTR Mean Time To Repair 平均修復時間(=故障してから直るまで平均何時間かかるか) Repair=修理=止まっている時間
  • MTBF は大きいほど良い(長く動き続けられる=信頼性が高い)。
  • MTTR は小さいほど良い(すぐ直る=保守性が良い)。
 ←MTBF(動いている)→ ←MTTR→ ←MTBF(動いている)→ ←MTTR→
 ■■■■■■■■■■■■■■□□□□■■■■■■■■■■■■■■□□□□
 (稼働)              (修理)(稼働)              (修理)

稼働率(可用性)の公式

稼働率(Availability・可用性)は、「全時間のうち、どれだけの割合で使えているか」です。 分母は「動いていた時間+止まっていた時間」=MTBF+MTTR、分子は「動いていた時間」=MTBFです。

稼働率 = MTBF ÷ (MTBF + MTTR)

【計算ステップ】1台の稼働率を求める(R01第13問より)

システムAは MTBF=480時間、MTTR=20時間。稼働率を求めます。

  1. 分母をつくる:MTBF+MTTR = 480+20 = 500
  2. 分子を置く:MTBF = 480
  3. 割り算:480 ÷ 500 = 0.96(=96%)

同じくシステムB(MTBF=532、MTTR=28)は 532 ÷ (532+28) = 532 ÷ 560 = 0.95(95%)。 → 可用性(稼働率)はA(0.96)>B(0.95)でAが上。一方、信頼性(MTBF)はB(532)>A(480)でBが上。 "稼働率が高い方が信頼性も高い"とは限らない、という点が学びどころです。

直列システムと並列システム ― 組み合わせの計算

複数の装置を組み合わせたときのシステム全体の稼働率は、つなぎ方(直列か並列か)で計算が変わります。 各装置の稼働率を a(0<a<1)とします。

■ 直列システム(1つでも止まると全体が止まる)

 ─[ 装置1 ]─[ 装置2 ]─   … 両方そろって初めて稼働

すべての装置が同時に動いているときだけシステムが動きます。よって稼働率は掛け算です。

直列の稼働率 = a₁ × a₂ × …(同じ装置n台なら a^n)

  • 掛け算なので、つなぐほど(直列を増やすほど)稼働率は下がります(例:0.9×0.9=0.81)。

■ 並列システム(どれか1つ動いていれば全体が動く)

      ┌[ 装置1 ]┐
 ──┤         ├──   … どちらか一方でも動けば稼働
      └[ 装置2 ]┘

どれか1台でも動いていればシステムが動きます。こういう「または」の計算は、 "全部同時に壊れる確率"を1から引くのがコツです。1台が壊れる確率は (1−a)、n台全部壊れる確率は (1−a)ⁿ。

並列の稼働率 = 1 −(1−a)ⁿ

  • 引き算で冗長性を足すので、並列を増やすほど稼働率は上がります(例:a=0.9を2台並列なら 1−0.1×0.1=0.99)。

💡 覚え方直列="AND"=掛け算(下がる)/並列="OR"=1から引く(上がる)。 信頼性を上げたいなら、部品を並列(冗長化)にする——これが8-3の高信頼化技術の原理そのものです。

【計算ステップ】直列と並列の合わせ技

装置Xの稼働率を r とします。「Xを2台直列にした部分」と「Xを2台並列にした部分」を比べてみましょう。

  1. 2台直列:r × r = r²(例:r=0.9 → 0.81)
  2. 2台並列:1−(1−r)² = 1−(1−0.9)² = 1−0.01 = 0.99
  3. 並列(0.99)> 単体(0.9)> 直列(0.81)。 同じ装置でも、直列を増やすほど下がり、並列を増やすほど上がることが数字で確認できます。

これがR07第9問の考え方です。3つの構成a・b・cは直列と並列の混ざり方が違うだけなので、 「直列が多い構成ほど低く、並列(冗長)が多い構成ほど高い」と当たりをつければ、正確な計算をせずとも高い順に並べられます。

【計算ステップ】稼働率のSLA(R07第24問より)

実務寄りの応用として、サービスレベル目標(SLA)の稼働率計算も出ました。ポイントは 「計画停止(メンテナンス)は分母に含めない」ことです。

  • 条件:1年=8,760時間。計画停止=毎月2回×10時間×12か月=240時間。計画停止以外の停止許容=年間142時間以内。 1. 合意済みサービス時間(分母):8,760 − 240 = 8,520時間(計画停止は除外) 2. 実際に動く時間(分子):8,520 − 142 = 8,378時間 3. 最低稼働率:8,378 ÷ 8,520 = 0.98333… ≒ 98.3%

⚠️ つまずきポイント:計画停止(合意済みの止める時間)は"故障ではない"ので、 稼働率の分母から先に引くのが約束事です。ここを引かずに計算すると答えがずれます。

📝 過去問はこう出る(R01 第13問) MTBF・MTTRから2システムのRASISを比較する問題。正解は 「可用性はA(0.96)>B(0.95)でAが優れる」。 「信頼性はAが優れる」は逆(MTBFはB>A)でバツ。 安全性・保全性はMTBF・MTTRからは判断不可なのでこれらの比較選択肢もバツ。 → R01 第13問

📝 過去問はこう出る(H29 第13問) RASISの穴埋め。正解は A=MTBF(信頼性、大きいほど良い)、B=MTTR(保守性、小さいほど良い)、 C=信頼性・D=可用性。「点検・予防は信頼性と可用性を高める」「二重化は個々の機器の信頼性は変えられないが システムの可用性を高める」という文脈がカギ。MTBF÷(MTBF+MTTR)は稼働率(可用性)の式であって 信頼性の尺度ではない、という点で誤りの選択肢を切ります。 → H29 第13問

📝 過去問はこう出る(R07 第9問・第24問) 第9問は装置Xを3台組み合わせた構成a・b・cの稼働率を高い順に並べる問題(正解:c、b、a=オ)。 直列=掛け算で下がる/並列=1−(1−r)ⁿで上がるの原則で判断します。 第24問はSLAの最低稼働率(正解:98.3%=エ)。計画停止を分母から除くのが急所。 → R07 第9問R07 第24問


8-3 高信頼化技術 ― 壊れても止めない工夫

信頼性を高める技術は、大きく2つの発想に分かれます。①そもそも壊さない(フォールトアボイダンス)と、 ②壊れても機能を保つ(フォールトトレランス)。この対比が土台になります。

考え方の2大アプローチ

アプローチ 発想 中身
フォールトアボイダンス(故障回避) 壊れないようにする 部品一つひとつの品質を上げ、そもそも故障を起こさせない
フォールトトレランス(耐故障) 壊れても止めない 装置を冗長化(多重化)し、故障してもシステム全体は動き続ける
  • フォールトトレラントシステムは、②の考え方を徹底し、一部が壊れても稼働を続けられるよう 部品を二重・三重に持たせたシステムです。8-2で見た「並列=冗長化で稼働率が上がる」の実装形です。

障害が起きた"あとの振る舞い":フェール○○/フール○○

故障や誤操作が起きたときに、どう振る舞うかの設計思想です。似た名前が多く、定義の取り違えが頻出です。

用語 意味 身近な例
フェールセーフ(fail-safe) 故障時に安全な側に倒す(被害を最小に、危険を生じさせない) 信号機が故障したら赤(止まれ)で固定する
フェールソフト(fail-soft) 故障時に性能を落としても主要機能は動かし続ける 一部機能を切り、限定運転で営業継続
フォールバック(縮退運転) 故障時に限定的ながら稼働を続けている状態(フェールソフトの結果の状態) エンジン片方停止でも低速で飛行を続ける
フールプルーフ(fool-proof) 人の操作ミスがあっても危険・異常が起きないようにする 洗濯機はフタを開けると止まる/ふた無しでは動かない
フォールトマスキング 故障が起きても外部に波及させず正常な出力を保つ(誤りを隠す) 多数決回路で1つの誤りを打ち消す

⚠️ 混同注意:フェールセーフ vs フールプルーフ - フェールセーフ="故障(fail)"時に安全側へ … 機械が壊れたときの話 - フールプルーフ="愚か者(fool)"の操作ミスに強い … 人が間違えたときの話 R07第10問は「フォールトトレランス=操作ミスがあっても異常が起こらない設計」という選択肢を誤りにしています (それはフールプルーフの説明)。"fail=故障"か"fool=人のミス"かで見分けます。

⚠️ 混同注意:フェールソフト vs フェールオーバ - フェールソフト=一部機能を落としてでも動かし続ける(1台のシステム内で縮退) - フェールオーバ=故障時に待機系システムへ処理を切り替える(別系統へバトンタッチ) R07第10問は「フェイルオーバ=一部機能を低下させて限定的に稼働」という選択肢も誤りにしています (それはフェールソフト)。切り替えるのがフェールオーバ、粘るのがフェールソフトです。

冗長構成の種類:デュアル/デュプレックス

同じシステムを2つ用意する(二重化する)とき、2台の使い方で呼び名が変わります。ここは頻出です。

構成 2台の使い方 特徴 コスト
デュアルシステム 2台を並行して同じ処理をさせ、結果を照合する 常に二重チェック。信頼性が非常に高い 高い
デュプレックスシステム 一方を主系(現用)、他方を従系(待機)にする 待機系は普段は別処理や待機。障害時に切替 比較的安い

デュプレックスの待機系は、その"待たせ方"でさらに3つに分かれます(H26第7問)。

方式 待機系の状態 切替の速さ コスト
ホットスタンバイ 常に電源ON・プログラム動作可能な状態で待機 速い(即切替) 高い
ウォームスタンバイ ある程度準備した中間状態で待機 中間 中間
コールドスタンバイ 普段は電源OFF、障害時に起動 遅い 安い

💡 覚え方:温度で覚えます。ホット(熱い)=すぐ動けるコールド(冷たい)=電源すら切ってある、 ウォームはその中間。熱いほど即応できるが、その分コストも高い、という関係です。

そのほかの冗長・分散構成

用語 意味
クラスタリング 独立した複数のコンピュータを相互接続し、一部が故障しても他機が肩代わりして全体の停止を防ぐ
ロードシェア(負荷分散)システム 複数のCPU・コンピュータで処理を分担し、負荷を分散する総称
ロードバランサ 複数サーバへアクセスを振り分け、負荷を均等化する装置(負荷分散の実装)

RAID ― 複数ディスクを束ねて速度・信頼性を高める

RAID(レイド)は、複数のハードディスクを1つにまとめ、速度や信頼性を高める仕組みです。 まとめ方(レベル)によって性格が変わります。試験でよく出るのは0・1・5の3つです。

レベル 呼び名 仕組み 速度 冗長性(壊れても平気か)
RAID0 ストライピング データを複数ディスクに分散して書く 速い なし(1台壊れると全滅)
RAID1 ミラーリング 同じデータを2台に同時に書く(複製) 普通 あり(片方壊れても復旧可)
RAID5 パリティ分散 データと誤り訂正情報(パリティ)を分散配置 速い あり(1台までなら復旧可)

⚠️ 混同注意:RAID0だけは"冗長化"ではない RAID0(ストライピング)は速度を上げるだけで、信頼性は逆に下がる(1台でも壊れると全データを失う)点に注意。 "RAID=信頼性向上"と思い込むと引っかかります。信頼性を上げるのはRAID1(ミラーリング)やRAID5です。

ストレージ接続とバックアップ

用語 意味
NAS LANに直接つなぎ、ファイル単位でネットワーク経由アクセスするストレージ
SAN ファイバチャネル等でブロック単位で接続する、ストレージ専用の高速ネットワーク
クラウドバックアップ 手元(オンプレミス)のデータをクラウド上へバックアップすること(向きに注意)
イメージバックアップ ディスク全体・システム状態を丸ごと(ディスクイメージとして)複製すること
ロールバック 障害時に更新前のログを使い、トランザクション実行の状態に戻す処理
ウォームサイト(予備サイト) 機器を用意しておき、障害時にバックアップから復元し業務を再開できる代替拠点

⚠️ 混同注意(R06第15問より) - クラウドバックアップ=オンプレミス→クラウド(「クラウド→手元」はでバツ) - イメージバックアップ=ディスクを丸ごと複製(「画像・動画データのバックアップ」ではない) 定義の"向き"や"対象"をすり替えた選択肢に注意します。

📝 過去問はこう出る(R07 第10問) 信頼性設計の用語対応。正解は「フォールトアボイダンス=部品個々の信頼性を高めて故障を起こさせない設計」。 「フェイルオーバ=一部機能低下で限定稼働(→本当はフェールソフト)」「フォールトトレランス=操作ミスでも異常なし (→本当はフールプルーフ)」など、定義のすり替えを見抜けば正解できます。 → R07 第10問

📝 過去問はこう出る(H27 第12問) 高信頼化アプローチの対応問題。正解は ①フォールトアボイダンス(故障を起こさせない)、②フォールトトレランス(故障時も主機能続行)、 ③フォールバック(限定的に稼働を続ける状態=縮退運転)、④フェールセーフ(被害を最小に安全側へ)。 → H27 第12問

📝 過去問はこう出る(H26 第7問・H19 第11問) H26第7問は冗長化の穴埋め。デュアル=2台並行で同処理デュプレックス=主系+従系コールドスタンバイ=電源OFF待機ホットスタンバイ=電源ON待機が正解。 H19第11問はデュアル/ロードシェア/コールドスタンバイ/クラスタリングの対応が正解。 → H26 第7問H19 第11問

📝 過去問はこう出る(R05 第10問・R06 第15問) R05第10問はストレージ用語。RAID0=ストライピング(高速・冗長性なし)RAID1=ミラーリングSAN=ブロック単位の専用ネットワークNAS=ファイル単位でLAN接続が正解。 R06第15問はバックアップ用語の正誤(正解:)。ロールバックとウォームサイトが正、 クラウドバックアップ(向きが逆)とイメージバックアップ(対象が違う)が誤り。 → R05 第10問R06 第15問


この章のまとめ(試験直前チェック)

  • レスポンスタイム=要求送出完了→応答開始/ターンアラウンドタイム=要求開始→結果出力完了
  • スループット=処理"量"(件数/時間)(レスポンス・ターンアラウンドは"時間"。区別が急所)
  • オーバーヘッド=制御・管理に使われる余分な資源/MIPS=命令数FLOPS=浮動小数点演算
  • ベンチマーク=実際に動かして測る(理論値のMIPS・FLOPSと区別)
  • RASIS=信頼性・可用性・保守性・保全性・安全性(MTBF/MTTRから計算できるのは信頼性と可用性だけ
  • MTBF=平均故障間隔(大きいほど良い)MTTR=平均修復時間(小さいほど良い)
  • 稼働率 = MTBF ÷(MTBF+MTTR)
  • 直列=掛け算(a^n・つなぐほど下がる)/並列=1−(1−a)ⁿ(冗長化・つなぐほど上がる)
  • ☐ SLAの稼働率は計画停止を分母から除く(R07第24問=98.3%)
  • フォールトアボイダンス(壊さない) vs フォールトトレランス(壊れても動かす)
  • フェールセーフ=安全側へフェールソフト=縮退でも動かすフールプルーフ=操作ミスに強い
  • デュアル=2台並行で照合デュプレックス=主系+従系(ホット/ウォーム/コールドスタンバイ)
  • RAID0=高速だが冗長性なしRAID1=ミラーリングRAID5=パリティ分散(RAID0は信頼性向上ではない)
  • NAS=ファイル単位・LAN接続SAN=ブロック単位・専用ネットワーク
  • ☐ クラウドバックアップは手元→クラウド/ロールバックは更新前ログで実行前に戻す

この章に対応する主な過去問

年度・問 論点 リンク
H19 第10問 性能用語(スループット・オーバーヘッド等) 問題
H19 第11問 信頼性構成(デュアル・クラスタリング等) 問題
H26 第7問 冗長化・多重化(デュアル・スタンバイ) 問題
H27 第11問 スループット 問題
H27 第12問 高信頼化のアプローチ 問題
H29 第13問 RASIS(MTBF・MTTR) 問題
R01 第13問 稼働率の計算・RASIS比較 問題
R05 第10問 ストレージ技術(RAID・SAN・NAS) 問題
R06 第15問 バックアップ 問題
R07 第9問 稼働率(直列・並列) 問題
R07 第10問 信頼性設計(フェールセーフ等) 問題
R07 第24問 サービスレベル目標(稼働率) 問題

次章予告 ▶ 第9章「データベース」(ここから第II部) 第I部(コンピュータの仕組み)を終え、第II部ではシステムを支える"データの扱い方"に進みます。 第9章では、データを効率よく正確に管理するデータベース——関係モデル、正規化、SQL、 トランザクション管理(ACID)などを扱います。本章で登場したロールバックも、そこで再会します。