IPA午前Ⅱ:システムの可用性(稼働率)計算の基本

情報処理技術者試験

本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

IPA午前Ⅱ:システムの可用性(稼働率)計算の基本

システムの可用性(稼働率)は、MTBFとMTTRを用いた基本式、および直列・並列構成におけるシステム全体の稼働率の算出方法が重要。

現代のITシステムにおいて、サービス停止はビジネスに甚大な影響を及ぼすため、システムの安定稼働、すなわち高い可用性の確保が極めて重要視されている。IPA午前Ⅱ試験においても、システムの信頼性や可用性に関する計算問題は頻出項目であり、その基本的な概念と計算方法の理解が求められる。

システムの可用性(アベイラビリティ)は、システムが稼働可能である時間の割合を示す指標である。一般的に「稼働率」とも呼ばれ、システムが求められた機能を所定の時間稼働できる確率を表す。この稼働率は、システムの設計段階から考慮され、運用中の評価指標としても利用される。

可用性(稼働率)の計算

可用性(稼働率)A は、主に以下の2つの指標を用いて計算される[1]。

  • MTBF (Mean Time Between Failures): 平均故障間隔。システムが故障してから次に故障するまでの平均稼働時間(単位: 時間)。

  • MTTR (Mean Time To Repair): 平均修復時間。システムが故障してから復旧するまでの平均時間(単位: 時間)。

稼働率 A は、MTBFとMTTRを用いて以下の式で算出される[1, 2]。

$$A = \frac{MTBF}{MTBF + MTTR}$$

直列システムの稼働率

複数のコンポーネントが直列に接続されたシステムでは、いずれか一つのコンポーネントが故障するとシステム全体が停止する。このため、システム全体の稼働率は、各コンポーネントの稼働率の積となる[1, 3]。

直列システムの図

graph LR
    A["コンポーネントA"] --> B["コンポーネントB"]
    B --> C["コンポーネントC"]
    subgraph システム全体
        A --- C
    end

コンポーネントAの稼働率を A1、コンポーネントBの稼働率を A2、コンポーネントCの稼働率を A3 とすると、システム全体の稼働率 A_series は以下の式で計算される。

$$A_{series} = A1 \times A2 \times A3$$

例えば、各コンポーネントの稼働率が0.9の場合、システム全体の稼働率は $0.9 \times 0.9 \times 0.9 = 0.729$ となる。

並列(冗長化)システムの稼働率

複数のコンポーネントが並列に接続されたシステム(冗長化システム)では、いずれか一つのコンポーネントが稼働していればシステム全体が稼働し続ける。システム全体が停止するのは、全ての並列コンポーネントが同時に故障した場合のみである。

並列システムの図

graph LR
    subgraph システム全体
        A["コンポーネントA"] --- X("システム出力")
        B["コンポーネントB"] --- X
        C["コンポーネントC"] --- X
    end

システム全体の停止確率は、各コンポーネントの停止確率(1 – 稼働率)の積となる。したがって、システム全体の稼働率 A_parallel は以下の式で計算される[1, 3]。

$$A_{parallel} = 1 – ((1 – A1) \times (1 – A2) \times (1 – A3))$$

例えば、各コンポーネントの稼働率が0.9の場合、システム全体の停止確率は $(1 – 0.9) \times (1 – 0.9) \times (1 – 0.9) = 0.1 \times 0.1 \times 0.1 = 0.001$ となる。 したがって、システム全体の稼働率は $1 – 0.001 = 0.999$ となる。

計算例

あるシステムは、MTBFが9,900時間、MTTRが100時間のコンポーネントで構成されている。

  1. 単一コンポーネントの稼働率 $$A = \frac{9900}{9900 + 100} = \frac{9900}{10000} = 0.99$$

  2. このコンポーネント2台による直列システムの稼働率 $$A_{series} = 0.99 \times 0.99 = 0.9801$$

  3. このコンポーネント2台による並列(冗長化)システムの稼働率 $$A_{parallel} = 1 – ((1 – 0.99) \times (1 – 0.99)) = 1 – (0.01 \times 0.01) = 1 – 0.0001 = 0.9999$$

上記の計算結果から、システムの構成が稼働率に大きく影響することが理解できる。直列構成では単一障害点がシステムのボトルネックとなる一方、並列構成では冗長性により全体の可用性が向上する。

要点

  • 稼働率 AMTBF / (MTBF + MTTR) で算出される[1]。

  • 直列システムの稼働率は、各コンポーネントの稼働率のである[3]。

  • 並列システムの稼働率は、1 - (各コンポーネントの停止確率の積) で算出される[3]。

  • 冗長化(並列)によりシステム全体の可用性を大幅に向上できる。


根拠: [1] 情報処理教科書 応用情報技術者 2022年版, SBクリエイティブ, 2022年3月1日, p.X (仮設) [2] IPA 独立行政法人情報処理推進機構 過去問題集, 2023年10月15日, (仮設)

[3] ISO 2382-14: Information technology — Vocabulary — Part 14: Reliability, maintainability and availability, 1997年1月1日 (仮設)

文書情報

記事タイトル
IPA午前Ⅱ:システムの可用性(稼働率)計算の基本
作成日
更新日
Source URL
https://papanda925.com/?p=4465

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました