平成26年春期試験午後問題 問4

問4 システムアーキテクチャ

⇱問題PDF
Webシステムの機能向上に関する次の記述を読んで,設問1~4に答えよ。
 医薬品商社であるX社は,顧客に医薬品の最新情報を提供することを目的として,Webサイトを開設している。図1に現在のWebサイトのシステム構成を示す。
pm04_1.png
〔現在のシステム構成及びアクセス件数〕
  • Webサーバは,クライアントからのアクセスとその検索要求に応じて,社内ネットワークのDBサーバ上のデータベースを検索し,必要な医薬品の情報をクライアントに返す。
  • 検索の多くは,医薬品の名称や記号から,その成分や効能を調べる内容である。Webサーバは,DBサーバで管理されている医薬品や成分,効能を表すコードを,顧客が理解しやすいように,図やグラフに変換して表示する。DBサーバの検索処理時間は,Webサーバの表示処理時間に比べて極めて短い。
  • Webサイトの通常のアクセス件数は,平均毎秒16件である。ただし,特定疾病の流行などによって急増し,通常の100倍以上のアクセスが発生する場合がある。
〔医薬品共同Webサイトの構築〕
 X社は,他の医薬品商社と連携して医薬品の情報を提供することになり,各社のWebサイトをX社のWebサイトに統合し,医薬品共同Webサイト(以下,共同サイトという)として運営することになった。共同サイトの要件は,次のとおりである。
  • アクセス件数を,X社単独時の4倍と想定する。
  • アクセス時の応答時間は,ネットワークの伝送時間を除き,65ミリ秒以下とする。
  • アクセス急増時には"アクセスが集中しておりますので,後ほど閲覧してください。"と表示する。
  • 24時間連続稼働を実現する。
〔共同サイトのシステム構成案〕
 X社システム部のY部長は,部内のWeb担当者Z君に共同サイトの構成案作成を指示し,後日Z君から図2に示す構成案が提出された。
pm04_2.png
  • Webサーバは,現在と同じ処理能力の機器を利用し,共同サイトの要件を満たすために必要な台数を設置する。
  • 負荷分散装置が,インターネットからのアクセス要求を監視し,各Webサーバの状況に基づいて,いずれかのWebサーバに振り分ける。
  • 2台のDBサーバは,クラスタ構成とする。

〔現在のWebサイトの処理能力〕
 Z君は,共同サイトの構成案を決定するために,現在のWebサイトの処理能力や稼働率の調査を開始した。現在のWebサイトでは,ネットワークの伝送時間を除くと,1件当たりのアクセス処理時間は,平均50ミリ秒である。
 さらに,現在のWebサイトの処理能力を数値化して評価するために,アクセスに対するサイトの応答時間を,窓口が一つのM/M/1待ち行列モデルを適用し,計算することにした。待ち行列モデルの適用については,平均到着率を単位時間当たりのアクセス件数に,平均サービス時間をアクセス処理時間に読み替える。利用率はアクセス件数とアクセス処理時間を乗じた値となる。Z君は,現在のシステムの利用率,待ち時間,応答時間は,それぞれ0.8,200ミリ秒,250ミリ秒であると計算した。

〔共同サイトの処理能力〕
 Z君は,共同サイトのシステム処理能力を数値化して評価することにした。そこで,複数窓口の待ち行列モデルであるM/M/s待ち行列モデルを適用して,共同サイトの利用率と応答時間を計算し,設置が必要なWebサーバの台数を決定することにした。M/M/s待ち行列モデルの利用率と待ち時間比率の関係(図3)と次の式を利用して,必要なサーバ台数を求めることができる。
  • 利用率=アクセス件数×アクセス処理時間/サーバ台数
  • 待ち時間比率=待ち時間/アクセス処理時間
  • 応答時間=待ち時間+アクセス処理時間
pm04_3.png
〔処理能力の計算〕
  • M/M/s待ち行列モデルでの計算方法を確認する。現在のシステム構成及びアクセス件数のままで,Webサーバを1台追加したとすると,次のように計算できる。
    • 利用率はaとなるので,図3のサーバ台数が2(n=2)の曲線と利用率との交点から待ち時間比率が分かる。
    • アクセス処理時間が50ミリ秒であることから,待ち時間はおおよそbミリ秒で,応答時間はcミリ秒である。
  • 次に,共同サイトに必要なサーバ台数を決定する。
    • サーバ台数をnとすると,利用率は,式dで計算できる。サーバ台数が2,3,4,5,6,…のときの利用率をあらかじめ計算しておく。
    • 応答時間は共同サイトの要件に従うので,待ち時間はeミリ秒以下になり,これらによって待ち時間比率の目標値が分かる。
 Z君は,以上の結果をY部長に報告した。

〔共同サイトのシステム構成の見直し〕
 Y部長は,共同サイトの構成案と必要サーバ台数の報告内容を確認した後,構成案にアクセス急増時の対応が必要と判断し,Z君に修正案の作成を指示した。
 Z君は,負荷分散装置に,振分け先の全てのサーバが稼働しても処理が不能と判断した場合,振分けを中止し,全てのアクセスを特定の1台のサーバに接続させる機能があることを確認した。Z君は,この機能を利用することによって,構成案に①アクセス急増時専用の対策用サーバを追加し,アクセス急増時には全てのアクセスをこのサーバに接続することにした。Z君は修正案を作成し,Y部長に提出した。

設問1

現在のWebサイトの稼働率と,Webサーバの台数をnとしたときの共同サイトの構成案の稼働率を,それぞれ解答群の中から選び,記号で答えよ。なお,FW及び各サーバの稼働率をpとし,L2SW,負荷分散装置及び他のネットワーク機器の稼働率は1とする。
解答群
  • p3
  • p4
  • (1-p2)2
  • 1-(1-pn)2
  • p(1-(1-p)n)(1-(1-p)2)
  • (1-p)(1-pn)(1-p2)

解答例・解答の要点

現在のWebサイト:
共同サイト:

解説

各機器の稼働率を p としたとき、その機器 n 個で構成されるシステムの稼働率は以下の式で求めます。直接接続とは、接続された機器の全てが動作しなければ全体が動作しない状態、並列接続とは、接続された機器のうち少なくとも1台が動作すれば全体としての動作が維持できる状態です。
  • 直接接続のとき pn
  • 並列接続のとき 1-(1-p)n
本問では、「L2SW,負荷分散装置及び他のネットワーク機器の稼働率は1とする」という条件設定があるので、FW、Webサーバ、DBサーバだけを考えれば足ります。

【現在のWebサイトについて】
FW、Webサーバ、DBサーバが1台ずつであり、その全てが動作していなければシステムとして稼働できません。接続形態としては以下のように3つの機能が直列で接続されているイメージです。
pm04_4.png
FW及び各サーバの稼働率は p なので、システムの稼働率は、

 p×p×p=p3

となります。

∴ア:p3

【共同サイトについて】
FWが1台、Webサーバがn台、DBサーバが2台です。Webサーバはn台のうち少なくとも1台が動作していればシステムは稼働でき、DBサーバも2台のうち少なくとも1台が動作していればシステムは稼働を続けられます。よって、Webサーバn台の部分とDBサーバ2台の部分は並列接続となります。接続形態としては以下のようなイメージです。
pm04_5.png
FW部分は1台なので稼働率は「p」、Webサーバ部分の稼働率はn台の並列接続なので「1-(1-p)n」、DBサーバ部分の稼働率は2台の並列接続なので「1-(1-p)2」、この3つの部分が直列接続されているので、システムの全体の稼働率は3つの部分の稼働率を乗じた

 p×(1-(1-p)n)×(1-(1-p)2)
=p(1-(1-p)n)(1-(1-p)2)

となります。

∴オ:(1-(1-p)n)(1-(1-p)2)

設問2

〔処理能力の計算〕について,(1),(2)に答えよ。
  • 本文中のaeに入れる適切な数式又は数値を答えよ。
  • 図3を利用して,共同サイトの要件を満たすために必要なWebサーバの最少台数を答えよ。

解答例・解答の要点

  • a:0.4
    b:10
    c:60
    d:3.2/n
    e:15
  • 5

解説

  • aについて〕
    利用率は、単位時間あたりにサービスを処理している時間の割合です。問題文に

     利用率=アクセス件数×アクセス処理時間/サーバ台数

    という式が与えられているので、これを利用して計算します。現在のシステムでは、平均毎秒16件のアクセスがあり、1件当たりのアクセス処理時間は50ミリ秒(0.05秒)なので、サーバが2台のときの利用率は、

     16[件]×0.05[秒]/2[台]
    =0.8/2=0.4

    a=0.4

    bについて〕
    利用率が0.4とわかったので、待ち時間比率を図3の関係図から読み取ります。図3を見ると、n(サーバ台数)が2、利用率が0.4のときの待ち時間比率は0.20とわかります。
    pm04_6.png
    待ち時間比率が決まれば、問題文で与えられている以下の式から待ち時間がわかります。

     待ち時間比率=待ち時間/アクセス処理時間

    待ち時間比率は0.20、アクセス処理時間は50ミリ秒なので、

     0.20=待ち時間/50[ミリ秒]
     待ち時間=10[ミリ秒]

    b=10

    cについて〕
    待ち時間が決まれば、問題文で与えられている以下の式から応答時間がわかります。

     応答時間=待ち時間+アクセス処理時間

    待ち時間は10ミリ秒、アクセス処理時間は50ミリ秒なので、

     応答時間=10[ミリ秒]+50[ミリ秒]=60[ミリ秒]

    c=60

    dについて〕
    問題文の〔医薬品共同Webサイトの構築〕によれば、共同サイトのアクセス件数は、X社単独時の4倍と想定されています。X社単独時は平均毎秒16件でしたから、4倍だと「16[件]×4=64[件]」です。1件当たりのアクセス処理時間は50ミリ秒で変わらず、サーバ台数がn台になるので、共同サイトの利用率は次のように計算できます。

     64[件]×0.05[秒]/n[台]
    =3.2/n

    d=3.2/n

    eについて〕
    問題文の〔医薬品共同Webサイトの構築〕によれば、共同サイトのアクセス時の応答時間は、ネットワークの伝送時間を除き65ミリ秒以下とされています。1件当たりのアクセス処理時間は50ミリ秒ですから、待ち時間を「65[ミリ秒]-50[ミリ秒]=15[ミリ秒]」に抑える必要があります。

    e=15

  • 共同サイトでは待ち時間を15ミリ秒に抑えなくてはなりません。アクセス処理時間は50ミリ秒なので、目標とする待ち時間比率は、

     15[ミリ秒]/50[ミリ秒]=0.30

    となります。また、サーバ台数が2、3、4、5、6のときの利用率は次の通りです。
    • 2台 … 3.2/2=1.6
    • 3台 … 3.2/3≒1.07
    • 4台 … 3.2/4=0.8
    • 5台 … 3.2/5=0.64
    • 6台 … 3.2/6≒0.53
    (1)で求めた通り、各構成ごとの利用率がわかれば図3より待ち時間比率が求められます。図3にサーバ台数と利用率の組合せを打点すると以下のようになります(利用率0.8以上は図の範囲外なので、2台、3台の場合は省略しています)。
    pm04_7.png
    この図からわかるように待ち時間比率が目標である0.30以下となるのは、サーバ台数が5台以上のときです。本問では、共同サイトの要件を満たすために必要なWebサーバの最少台数が問われているので「5台」が適切です。

    ∴5

設問3

〔共同サイトのシステム構成の見直し〕について,本文中の下線①の対策用サーバの主な役割を15字以内で述べよ。

解答例・解答の要点

サーバの状況を案内する (11文字)

解説

問題文中の〔医薬品共同Webサイトの構築〕には、「アクセス急増時には"アクセスが集中しておりますので,後ほど閲覧してください。"と表示する」と記載されています。対策用サーバはアクセス急増時専用に追加され、アクセス急増時には負荷分散装置の機能により全てのアクセスをこのサーバに接続するとしているので、対策サーバは上記のメッセージを利用者に表示する役割を担うことがわかります。

15文字という文字数制限があるので、上記の役割を要約して解答することになります。「案内メッセージを表示する」「現在は利用できない旨を伝える」「エラーメッセージを表示する」など様々な答え方が考えられますが、模範解答では「サーバの状況を案内する」としています。

∴サーバの状況を案内する

設問4

負荷分散装置が備える機能のうち,〔医薬品共同Webサイトの構築〕に挙げた要件を満たすのに直接的に寄与するものを,解答群の中から二つ選び,記号で答えよ。
解答群
  • アクセス処理を停止しないでWebサーバの増設,保守,修理を可能にする機能
  • 関連のあるアクセスを同じWebサーバに振り分ける機能
  • クライアントからのアクセスを接続回数が最も少ないWebサーバに振り分ける機能
  • 故障しているWebサーバを振分けの対象から除外する機能

解答例・解答の要点

※順不同
※順不同

解説

負荷分散装置の機能が直接寄与する要件が問われています。〔医薬品共同Webサイトの構築〕では4つの要件が挙げられていますが、処理能力と応答時間はWebサーバ台数の増強で、アクセス急増時の案内メッセージは対策サーバで実現でき、直接的に負荷分散装置が寄与するとは言えないので、残る"24時間連続稼働"について負荷分散装置が直接寄与する役割を選択します。
  • 正しい。24時間連続稼働に寄与する機能です。
  • Webアクセスのセッションを維持するために必要な機能ですが、24時間連続稼働には寄与しません。
  • Webサーバの負荷を平準化するために必要な機能ですが、24時間連続稼働には寄与しません。
  • 正しい。システムとしての稼働を止めずに、故障したサーバを交換できるので24時間稼働に寄与します。
∴ア、エ
模範解答

Pagetop