LinuCレベル4 システムアーキテクト 性能・拡張性の設計 問10
性能・拡張性の設計/性能見積もりと評価会員向けの予約サイトを新たに構築する。1日の予約の要求は100万件で、そのうち30%が受付開始直後の9時〜10時の1時間に集中する。応答時間の目標は2秒以内で、要求を後回しにして処理することはできない。サーバーのサイジングの基準とする到着率の考え方として最も適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「性能・拡張性の設計」に対応。実際の試験問題ではありません)
- A1日の平均である約12件/秒を基準にし、要求が集中する時間帯の応答時間の悪化は利用者に許容してもらう
- B集中する1時間の平均である約83件/秒を基準にし、その1時間の中でのさらに短い偏りも見込んで余裕を持たせる
- C1日の全件が1時間に集中したと仮定した約278件/秒を基準にし、それを満たせば追加の余裕は持たせない
- D集中する時間帯以外の平均である約8.5件/秒を基準にし、集中した時間帯の要求はキューに溜めて順に処理する
正解:B
解説
サイジングは平均ではなく、性能要件を満たさなければならない最も負荷の高い時間帯を基準にします。この例では9時〜10時に30万件が集中するため、その1時間の平均到着率は300,000÷3,600≒83件/秒です。さらに、1時間の平均であっても開始直後の数分に要求が偏るなど短時間のばらつきがあるため、実測や類似システムの傾向から余裕を見込みます。1日の平均(1,000,000÷86,400≒12件/秒)を基準にするとピーク時に処理能力が大きく不足し、根拠のない過大な仮定を置くと費用が膨らみます。
選択肢ごとの解説
- A誤り。ピーク時の到着率は1日平均の約7倍になり、応答時間2秒以内という要件を満たせません。
- B正しい。最も負荷の高い時間帯の到着率を基準にし、その中の短時間の偏りまで見込むのがサイジングの基本です。
- C誤り。業務特性と合わない極端な仮定を置いており、必要な処理能力との関係を説明できないまま約3倍の過大な設備になりやすく、費用がかさみます。
- D誤り。要求を後回しにできない条件に反し、キューに溜めれば応答時間の目標を満たせません。