問題 53★★★

あるWebシステムは、2台のWebサーバのどちらか1台が動いていれば処理を続けられ、 その後ろに1台のデータベースサーバがつながっている。3台の稼働率がいずれも0.9の とき、システム全体の稼働率はどれか。

正解:ウ

各選択肢の解説

  1. ア0.729

    誤り。3台をすべて直列とみなし、0.9×0.9×0.9と計算した値です。1台でも止まると 全体が止まる構成ならこうなりますが、Webサーバは2台のどちらかが動けばよいので、 その部分は並列として計算する必要があります。

  2. イ0.810

    誤り。Webサーバ2台をまとめて稼働率0.9の1台と同じとみなし、0.9×0.9とした値です。 台数を増やしても稼働率は変わらないという誤解から出る数字で、並列にした 効果が計算に入っていません。

  3. ウ0.891

    正解。Webサーバ部分は2台とも止まる確率0.1×0.1を1から引いて0.99です。 これにデータベースサーバの0.9を掛けて、0.99×0.9=0.891になります。

  4. エ0.999

    誤り。3台すべてを並列とみなし、1−0.1×0.1×0.1と計算した値です。 データベースサーバは1台しかなく、止まれば全体が止まるので、ここは 直列として掛け算しなければなりません。

理解を深めるために

「全部動く必要がある」か「どれか動けばよい」か

稼働率は、システムが使える状態にある時間の割合です。0.9なら、全体の時間のうち 9割は使えて1割は止まっている、という意味になります。

装置を組み合わせたときの稼働率は、つなぎ方で計算が変わります。

  • 直列(全部が動かないと止まる)…稼働率どうしを掛ける。0.9×0.9=0.81
  • 並列(どれか1台動けばよい)…「全部止まる確率」を1から引く。1−0.1×0.1=0.99

直列にすると台数が増えるほど下がり、並列にすると台数が増えるほど上がります。 並列にして予備を持たせることを冗長化と呼び、可用性を高める基本的な方法です。

この問題の解き方

構成を図にすると、次のようになります。

        ┌ Webサーバ1(0.9) ┐
入口 ──┤                  ├── DBサーバ(0.9) ── 出口
        └ Webサーバ2(0.9) ┘
  1. 並列の部分を1台分にまとめる:1−(1−0.9)×(1−0.9)=1−0.01=0.99
  2. まとめた部分とDBサーバを直列で掛ける:0.99×0.9=0.891

並列の部分を先にまとめ、残りを掛ける という順番で解くのが定石です。

誤答の数字はどこから来るか

値 計算 どこを取り違えたか
0.729 0.9×0.9×0.9 全部を直列とみなした
0.810 0.9×0.9 並列の効果を無視した
0.891 0.99×0.9 正しい組合せ
0.999 1−0.1×0.1×0.1 全部を並列とみなした

試験では、選択肢に「全部直列」「全部並列」の値が並ぶことが多くあります。 どの装置が1台しかないか(そこが止まれば全体が止まるか)を最初に確認すると、 直列と並列の取り違えを防げます。

前の問題へ次の問題へ