応用情報技術者 2014年 秋期 午後 問04
ストレージ設計に関する次の記述を読んで、設問1~5に答えよ。
E社は、新聞社である。E社では、中期経営計画にディジタルメディアの積極的な活用を掲げており、新聞記事のWeb配信サービスの強化を検討している。具体的には、E社が過去に掲載した記事の検索サービスと、最新記事のPCやモバイル端末への配信サービスを、24時間365日提供する予定である。
新しいWeb配信サービスを支える情報システム(以下、新配信システムという)を構築するプロジェクトは、アプリケーションソフトウェア開発チームとシステム基盤チームから成る。プロジェクトリーダは情報システム部のF課長が、システム基盤チームのチームリーダはG君が担当することになった。なお、新配信システムは、ハードウェアの保守期限を考慮し、5年間運用する想定である。
〔新配信システムのシステム構成〕
利用者は新配システムにPCやモバイル端末を用いてアクセスする。PCの場合はWebブラウザを利用し、モバイル端末の場合は専用アプリケーションソフトウェアを利用する。なお、専用アプリケーションソフトウェアは、毎時0分0秒にE社データセンタ内のサーバにアクセスし、最新記事をモバイル端末に保存する。
E社データセンタ内には、記事の検索や配を行うアプリケーションサーバ(以下、APサーバという)、記事データ(文字データや画像データ)を格納したストレージ、及び記事の検索用データ(記事タイトル、公開日時、分類情報、記事データのストレージ上のファイルパス)を格納したデータベースサーバ(以下、DBサーバという)を配置し、サービス提供を行う。新配宿システムのシステム構成を図1に示す

PCやモバイル端末からの記事の検索要求があると、APサーバが要求を受け付けて、DBサーバを用いて記事を検索した後、検索条件に合致する記事が存在する場合には、ストレージ内に格納された記事データをPCやモバイル端末へ送信する。
〔データ量の調査〕
G君は、新配信システム稼働開始時の記事データ量と、稼働開始から想定運用期間満了までの記事データ発生量を調査した。記事データ量調査の結果を図2に示す。

〔性能指標とその目標値の定義〕
E社の情報システムガイドラインでは、Webシステムは、利用者が画面上のボタンを押してから、結果が全て画面に表示されるまでのaを性能指標とし、目標値を2.0秒と規定している。
しかし、新配信システムの場合は、利用者側のインターネット回線やPC、モバイル端末の性能の影響を受けるので、aを性能指標とすることは困難である。そこでG君は、APサーバが検索要求を受け付けてから検索結果の最初のデータを送信し始めるまでのbを性能指標とし、目標値を0.5秒とすることにした。
また、単位時間当たりに処理できる件数を示すcについては、現在のE社の配信システムへのアクセス件数を基に、利用者数増加によるアクセス件数増大を考慮した最大アクセス件数を目標値とすることにした。
〔ストレージ設計〕
G君は、新配信システムの特性からストレージに対する要件を整理し、複数のハードディスク装置を組み合わせる①RAID構成を用いたストレージの採用を検討した。
(1) ディスク容量
想定運用期間満了時に②全記事データを格納できるディスク容量が必要である。
(2) 性能要件
③AP サーバのデータ読み書き要求に小さい遅延で応答できるアクセス速度が必要である。しかし、利用を想定しているハードディスク装置 1 台当たりのアクセス速度は遅く、1 台だけでは性能目標を達成できない。
(3) 信頼性要件
ハードディスク装置の単体故障によるデータ消失を防止する。また、新配信システムは、24 時間 365 日の運用となるので、ハードディスク装置の単体故障時に利用者へのサービス提供が停止しないようにする。ただし、ハードディスク装置の交換作業中の性能劣化、信頼性低下は許容する。
(4) その他要件
性能要件と信頼性要件を満たしつつ、ディスクを効率的に利用するために、データ量に対して 2 倍以上のディスク容量を確保する構成は採用しない。
〔新配信システムの構築〕
G君は、〔ストレージ設計〕で検討したストレージに加え、サーバやネットワークについても要件を満たすように設計を行い、新配信システムのシステム基盤の構築作業を完了させた。また、稼働開始後の新配信システムが性能要件を満たしていることを確認するために、AP サーバのアクセスログを集計し、1 時間ごとの b の平均とアクセス件数を随時性能レポートに記録する性能情報採取ツールを AP サーバに設置した。
〔稼働開始後の性能問題〕
新配信システムの稼働から 1年後、新配信システムの利用者は、PC 利用者が約 20,000 人、モバイル端末利用者が約 3,000 人となった。ある日、モバイル端末利用者から “記事のデータ取得が極端に遅い。モバイル端末の CPU 利用率は低く、他の Webサイトからのデータ取得は遅くない。” とのクレームがあった。
G君が性能情報採取ツールによって記録された性能レポートを確認したところ、④特に異常な傾向は見られなかった。しかし、アプリケーションソフトウェア開発チームが AP サーバのアクセスログを調査したところ、全てのモバイル端末の専用アプリケーションソフトウェアが毎時 0 分 0 秒に AP サーバに集中してアクセスしており、毎時0分0秒のデータ取得が極端に遅くなっていることが分かった。
アプリケーションソフトウェア開発チームは、専用アプリケーションソフトウェアを修正して性能問題を解決した。
設問1:
本文中のa〜cに入れる適切な字句を解答群の中から選び、記号で答えよ。
解答群
ア:アクセスタイム
イ:サーチタイム
ウ:シークタイム
エ:スループット
オ:ターンアラウンドタイム
カ:レスポンスタイム
模範解答
a:オ
b:カ
c:エ
解説
解答の論理構成
- 【問題文】では、Webシステムの性能指標として
“利用者が画面上のボタンを押してから、結果が全て画面に表示されるまでのaを性能指標”
と規定しています。
これは「要求の発生から処理結果の完全提示まで」の時間であり、一連の処理をひとまとめに評価する指標です。一般にこの概念は“ターンアラウンドタイム”と呼ばれるため、a=オ「ターンアラウンドタイム」と判断します。 - しかし同じ段落で
“APサーバが検索要求を受け付けてから検索結果の最初のデータを送信し始めるまでのbを性能指標”
とあります。
これは“要求を受け取ってから最初の応答が返るまで”の時間であり、システム応答の速さを示す指標です。一般に“レスポンスタイム”と呼ばれるため、b=カ「レスポンスタイム」となります。 - さらに
“単位時間当たりに処理できる件数を示すc”
と書かれており、これはシステムが一定時間内に処理可能な仕事量を示す性能指標です。標準用語は“スループット”なので、c=エ「スループット」と決定します。
誤りやすいポイント
- レスポンスタイムとターンアラウンドタイムの混同
前者は“最初の応答”まで、後者は“処理完了”までを計測対象にします。問題文は両者を対比しているので注意が必要です。 - “アクセスタイム”“シークタイム”といったディスク系用語への惑い
本設問で求められているのはシステム全体の時間指標であり、ハードディスク単体の物理パラメータではありません。 - スループットを“転送速度”と誤認するケース
本問では“件数/時間”という取引処理系の意味で使われている点を押さえる必要があります。
FAQ
Q: ターンアラウンドタイムはバッチ処理だけの用語ではないのですか?
A: もともとバッチ運用で使われた言葉ですが、対話型システムでも「要求―結果提示」全体を測る場合に転用されます。本問でも同義で使われています。
A: もともとバッチ運用で使われた言葉ですが、対話型システムでも「要求―結果提示」全体を測る場合に転用されます。本問でも同義で使われています。
Q: レスポンスタイムとアクセスタイムの違いは?
A: レスポンスタイムは“要求受信から応答開始まで”を示すシステム指標、アクセスタイムは主に記憶装置への物理アクセス時間(シーク+回転待ちなど)を示します。
A: レスポンスタイムは“要求受信から応答開始まで”を示すシステム指標、アクセスタイムは主に記憶装置への物理アクセス時間(シーク+回転待ちなど)を示します。
Q: スループットの単位は必ず“件数/時間”ですか?
A: 性能評価対象によって“バイト/秒”や“パケット/秒”なども用いられます。本問では“処理件数/時間”という意味で定義されています。
A: 性能評価対象によって“バイト/秒”や“パケット/秒”なども用いられます。本問では“処理件数/時間”という意味で定義されています。
関連キーワード: ターンアラウンドタイム、レスポンスタイム、スループット、性能指標、Webシステム
設問2:本文中の下線①について(1)、(2)に答えよ。
(1)新配信システムのストレージに採用すべきRAIDレベルを解答群の中から選び、記号で答えよ。ただし、RAIDコントローラの性能やネットワーク帯域は十分に確保されているものとする。
解答群
ア:RAID0
イ:RAID1
ウ:RAID1 + RAID0
エ:RAID5
模範解答
エ
解説
解答の論理構成
-
信頼性の要件
- 【問題文】「ハードディスク装置の単体故障によるデータ消失を防止する。」
- RAID0 は冗長性がなく単体故障でデータ消失が発生するため不適合。
-
可用性の要件
- 【問題文】「ハードディスク装置の単体故障時に利用者へのサービス提供が停止しないようにする。」
- 単体故障でもオンライン運用を続けるには、パリティまたはミラーをもつ RAID が必要。
-
容量効率の要件
- 【問題文】「性能要件と信頼性要件を満たしつつ、…2 倍以上のディスク容量を確保する構成は採用しない。」
- RAID1・RAID1+0 はミラー方式なので使用可能容量が 50% となり “2 倍以上” のディスクが必要になり条件違反。
-
性能の要件
- 【問題文】「③AP サーバのデータ読み書き要求に小さい遅延で応答できるアクセス速度が必要」
- RAID5 はストライピングにより読み出し性能が向上し、RAID コントローラ性能とネットワーク帯域が十分なら要求を満たす。
-
以上より
- 信頼性:単一故障耐性あり
- 容量効率:パリティ 1 台分のロスで“2 倍以上”を超えない
- 性能:ストライピングで遅延低減
→ 最適な RAID レベルは「エ:RAID5」。
誤りやすいポイント
- 「RAID1 は最も安全」と考えて容量要件を見落とす。実際には 50% 利用率で条件違反。
- RAID0 を高性能だからと選択し、信頼性要件を失念する。
- RAID1+0 の性能と冗長性に目を奪われ、必要ディスク数の多さを算出し忘れる。
- RAID5 の書込み遅延を過大評価し、読込み中心ワークロードである点を見逃す。
FAQ
Q: RAID5 にすると書込みが遅くなると聞きますが大丈夫ですか?
A: 本システムは記事データを一度書いた後は主に読込みが発生します。読込みはストライピングにより高速化され、書込みは頻度が低いので目標値に影響しません。
A: 本システムは記事データを一度書いた後は主に読込みが発生します。読込みはストライピングにより高速化され、書込みは頻度が低いので目標値に影響しません。
Q: ディスクが 2 台同時に故障した場合はどうなるのですか?
A: RAID5 は同時 2 台故障に耐えませんが、【問題文】が求めているのは「ハードディスク装置の単体故障への耐性」ですので要件を満たしています。
A: RAID5 は同時 2 台故障に耐えませんが、【問題文】が求めているのは「ハードディスク装置の単体故障への耐性」ですので要件を満たしています。
Q: SSD を使えば RAID0 でも良いのでは?
A: 信頼性要件は媒体に関係なく存在します。SSD でも RAID0 は単体故障でデータ消失が起こるため条件を満たしません。
A: 信頼性要件は媒体に関係なく存在します。SSD でも RAID0 は単体故障でデータ消失が起こるため条件を満たしません。
関連キーワード: RAID5, ストライピング、パリティ、冗長構成、容量効率
設問2:本文中の下線①について(1)、(2)に答えよ。
(2)ストレージを、同一型式のハードディスク装置を用いたRAID構成とした場合、ストレージ全体としてのデータの読込み速度を向上させるためには、ハードディスク装置の構成をどのようにするとよいか。ハードディスク装置数とデータの配置の観点から、30字以内で述べよ。
模範解答
ハードディスク装置数を増やし、データを分散させる。
解説
解答の論理構成
- 問題文には「複数のハードディスク装置を組み合わせる①RAID構成を用いたストレージの採用を検討した」とあります。
- さらに性能要件として「利用を想定しているハードディスク装置 1 台当たりのアクセス速度は遅く、1 台だけでは性能目標を達成できない」と明記されています。
- 1 台あたりが遅いなら並列化で帯域を稼ぐ必要があります。RAID 0 や RAID 10 のようにストライピング(データ分散配置)を行えば、読込み要求を複数台で同時分担でき、理論上は台数に比例して読込みスループットが向上します。
- よって「ハードディスク装置数を増やし、データを分散させる」という構成が最適解となります。これは台数拡張とストライピングを併用するという 2 つの観点を満たしています。
誤りやすいポイント
- 台数を増やすだけでデータ配置を単一ディスクごとに完結させてしまうと並列読込みが発揮されません。
- ミラーリング(RAID 1)のみを答えてしまうと可用性の説明に終始し、読込み速度向上の理由が不足します。
- キャッシュ搭載など装置の高性能化を述べると、問題の「ハードディスク装置数とデータの配置」という指定から外れます。
FAQ
Q: ミラーリングでも読込み速度は上がるのでは?
A: 読込み要求が分散される点で効果はありますが、台数を増やしてストライピングする方が線形に近い性能向上が見込めます。設問は「ストレージ全体としてのデータの読込み速度を向上」させる点に主眼を置いています。
A: 読込み要求が分散される点で効果はありますが、台数を増やしてストライピングする方が線形に近い性能向上が見込めます。設問は「ストレージ全体としてのデータの読込み速度を向上」させる点に主眼を置いています。
Q: SSD に置き換える案は検討すべき?
A: 設問で前提としているのは「同一型式のハードディスク装置」です。装置を変更する提案は前提条件外となります。
A: 設問で前提としているのは「同一型式のハードディスク装置」です。装置を変更する提案は前提条件外となります。
Q: RAID レベルの具体名を答える必要はない?
A: 本問では「ハードディスク装置数」と「データの配置」について簡潔に述べることが求められており、RAID レベル名を列挙する必要はありません。
A: 本問では「ハードディスク装置数」と「データの配置」について簡潔に述べることが求められており、RAID レベル名を列挙する必要はありません。
関連キーワード: RAID, ストライピング、データ分散、アクセス速度、透過的並列化
設問3:
本文中の下線②について、想定運用期間満了時の全記事データのデータ量を答えよ。なお、1Gバイトは1,000,000kバイトとし、答えは10Gバイト単位に切り上げて求めよ。
模範解答
110
解説
解答の論理構成
-
既存データ量の把握
図2より
・"記事件数 900,000件"
・"平均データ量 100 kバイト/件"
したがって既存データ量は
(1 Gバイト=1,000,000 kバイト)。 -
想定運用期間(5年間)の新規記事件数を算出
問題文には「ハードウェアの保守期限を考慮し、5年間運用する想定」とあり、図2には
・"稼働開始年度の件数 20,000件"
・"2年目以降の増加率 20%/年"
とある。
年度ごとの件数は
年1:20,000
年2:20,000×1.2=24,000
年3:24,000×1.2=28,800
年4:28,800×1.2=34,560
年5:34,560×1.2=41,472
合計 -
新規記事のデータ量
図2の「平均データ量 稼働開始時から変化なし」より 1 件あたり 100 kバイト。
-
運用期間満了時の全記事データ量
-
10 Gバイト単位に切り上げ
104.8832 Gバイト → 110 Gバイト
誤りやすいポイント
- 「5年間」の捉え方を誤り、増加率を4回しか掛けない/6回掛けてしまう。
- 既存データ 90 Gバイトを足し忘れ、新規分だけ計算してしまう。
- 1 Gバイト=1,024 Mバイト(2のべき)と勘違いし、1,024,000 kバイトで換算する。
- “切り上げ”ではなく四捨五入して 100 Gバイトとしてしまう。
- 新規記事数を単純に 20,000×5 で求め、増加率 20% を無視する。
FAQ
Q: 増加率 20% は累積ですか、固定加算ですか?
A: 問題文に「"2年目以降の増加率 20%/年"」とあり、毎年前年比 1.2 倍と読み取れます。したがって累乗計算が必要です。
A: 問題文に「"2年目以降の増加率 20%/年"」とあり、毎年前年比 1.2 倍と読み取れます。したがって累乗計算が必要です。
Q: 「10Gバイト単位に切り上げ」とは具体的にどう処理しますか?
A: 算出値を 10 で割り、端数があれば 1 を足して 10 を掛け直します。104.8832÷10=10.48832 → 切り上げで 11 → 11×10=110 Gバイトです。
A: 算出値を 10 で割り、端数があれば 1 を足して 10 を掛け直します。104.8832÷10=10.48832 → 切り上げで 11 → 11×10=110 Gバイトです。
Q: 平均データ量が将来変わる可能性を考慮すべきでは?
A: 図2に「"平均データ量 稼働開始時から変化なし"」と明示されているため、設計では一定とするのが前提です。
A: 図2に「"平均データ量 稼働開始時から変化なし"」と明示されているため、設計では一定とするのが前提です。
関連キーワード: RAID, ディスク容量計算、ストレージ設計、アーカイブ、スケーラビリティ
設問4:
本文中の下線③について、データの読込み速度と書込み速度のどちらを重視してストレージを採用する必要があるか。答案用紙の“読込み速度書込み速度”のいずれかの字句を○印で囲んで示せ。また、それは、新配信システムのどのような特性によるものか。35字以内で述べよ。
模範解答
重視:読込み速度
特性:多数のPCやモバイル端末に対して記事を配信する特性
解説
解答の論理構成
-
ストレージは 検索と配信 が主用途
【問題文】「PCやモバイル端末からの記事の検索要求があると、APサーバが要求を受け付けて…ストレージ内に格納された記事データをPCやモバイル端末へ送信する。」
➜ 検索結果を即座に送り出すために大量の読込みが発生する。 -
書込みは記事登録時のみで頻度が低い
【問題文】図2より「稼働開始年度の件数 20,000件」「2年目以降の増加率 20%/年」。
➜ 月間~年間で見ても書込みは限定的で、同時性能を大きく左右しない。 -
目標性能は検索応答時間
【問題文】「APサーバが検索要求を受け付けてから…bを性能指標とし、目標値を0.5秒とすることにした。」
➜ 短い応答を実現するには読込み I/O の高速化が決定的。 -
よって 重視すべきは「読込み速度」
特性は「多数のPCやモバイル端末へ記事データを配信するため読込みが支配的」である。
誤りやすいポイント
- 書込みもリアルタイム更新と思い込み、書込み性能を優先してしまう。
- RAID=冗長性確保とだけ考え、I/O分散による読込み高速化効果を見落とす。
- 図2の“20%/年増加”を“20%/日増加”と読み違え、書込み負荷を過大評価する。
FAQ
Q: 記事のアップロード頻度が増えた場合は書込み重視に変えるべき?
A: 日次・週次レベルで更新件数が急増し、検索要求と同等以上の I/O を占める場合は書込み性能も評価対象になります。本設問は現行ワークロードを前提としています。
A: 日次・週次レベルで更新件数が急増し、検索要求と同等以上の I/O を占める場合は書込み性能も評価対象になります。本設問は現行ワークロードを前提としています。
Q: 読込み速度向上には RAID の種類よりキャッシュ追加の方が効果的では?
A: RAID0/10 などのストライピングで“並列 I/O”を増やすと、キャッシュヒットしない大容量記事でも安定して帯域を確保できます。両者は補完関係にあります。
A: RAID0/10 などのストライピングで“並列 I/O”を増やすと、キャッシュヒットしない大容量記事でも安定して帯域を確保できます。両者は補完関係にあります。
Q: 信頼性と速度を両立させる推奨 RAID 構成は?
A: ミラー+ストライピングの RAID10 が典型例です。ミラーで故障耐性を確保しつつ、ストライピングで読込みを並列化できます。
A: ミラー+ストライピングの RAID10 が典型例です。ミラーで故障耐性を確保しつつ、ストライピングで読込みを並列化できます。
関連キーワード: RAID10, 読取り I/O, アクセス集中、ストライピング、レイテンシ
設問5:
本文中の下線④について、性能情報採取ツールによって記録された性能レポートで異常を見つけられなかった理由を、40字以内で述べよ。
模範解答
1時間単位の平均を集計しており、短い時間の特異点が分からないから
解説
解答の論理構成
-
性能情報採取ツールの仕様
・問題文に「“AP サーバのアクセスログを集計し、1 時間ごとの b の平均とアクセス件数を随時性能レポートに記録する性能情報採取ツール”」とある。
→ 収集単位は「1 時間ごとの平均」である。 -
実際に発生した性能劣化のタイミング
・「“全てのモバイル端末の専用アプリケーションソフトウェアが毎時 0 分 0 秒に AP サーバに集中してアクセス”」とある。
→ 問題は「毎時0分0秒」に限定した“瞬間的ピーク”で発生した。 -
平均化によるピークの埋没
・1時間という長い区切りで平均すると、数十秒~数分のピークは小さくならされる。
→ その結果、「④特に異常な傾向は見られなかった」。 -
したがって
→「短時間のピークを1時間平均で監視していたため、異常を検出できなかった」が解答の帰結となる。
誤りやすいポイント
- 「アクセス件数」だけ監視していれば分かると誤解する
→ 件数も同じく1時間集計なのでピークが埋没。 - ストレージの I/O 性能問題と混同する
→ 今回は AP サーバへの集中アクセスが原因、ストレージ遅延ではない。 - 「平均」ではなく「最大値」を採っていると読み違える
→ 問題文は明確に「平均」と記載。
FAQ
Q: 短い時間の遅延を捉えるにはどうすれば良いですか?
A: 監視粒度を秒単位や分単位に細分化し、最大値やパーセンタイルを記録することで瞬間的ピークを把握できます。
A: 監視粒度を秒単位や分単位に細分化し、最大値やパーセンタイルを記録することで瞬間的ピークを把握できます。
Q: 1時間平均監視にはどんなメリットがありますか?
A: データ量が抑えられ、長期傾向を容易に把握できます。ただし短時間の障害検知能力は低下します。
A: データ量が抑えられ、長期傾向を容易に把握できます。ただし短時間の障害検知能力は低下します。
Q: 専用アプリの同時アクセスを防ぐ方法は?
A: アクセス時刻を端末ごとにランダムディレイさせる、またはサーバ側で CDN・キャッシュを用いてピーク負荷を平準化します。
A: アクセス時刻を端末ごとにランダムディレイさせる、またはサーバ側で CDN・キャッシュを用いてピーク負荷を平準化します。
関連キーワード: 平均化、ピーク負荷、レスポンスタイム、アクセス集中、性能監視


