Webベースの検索システムの処理速度。(平成16年春ソフトウェア開発技術者午後1問3)

 今回解いてみたIT試験の過去問は、システムアーキテクチャ分野になります。IPAの平成16年春ソフトウェア開発技術者(現・応用情報技術者)午後1問3からの出題で、Webベースの検索システムの処理速度がテーマになってます。

平成16年春ソフトウェア開発技術者午後1問3(システムアーキテクチャ)

平成16年春ソフトウェア開発技術者午後1(PDFファイル)

(引用ここから。解答を入れるための空欄の形式など一部改変があります。)

問3 Webベースの検索システムに関する次の記述を読んで,設問1~3に答えよ。

 図1, 2 に示すような,Webベースの検索システムがある。

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2004h16_1/
2004h16h_sw_pm1_qs.pdf

 図1 と図2 は,Webサーバのキャッシュファイルの有無以外は同一構成のシステム で,各処理の所要時間は表1 のようになっている。データベース(DB) に格納されているレコードは,画像が含まれた2Mバイトの固定長レコードである。

 図1 の検索システムでは,利用者からWebサーバに検索要求があるたびに,DB サーバに問合せを行う。

 図2 の検索システムでは,利用者から検索要求があると,Webサーバはキャッシュファイルに該当するレコードがある場合は,そのレコードを読み込んで検索結果を利 用者に通知する。このとき,レコードの参照時刻フィールドに現在のシステム時刻を 設定して,キャッシュファイル中のレコードを更新する。キャッシュファイルに該当 するレコードがない場合は,WebサーバからDB サーバに問合せを行う。Webサーバ は,キャッシュファイルに空きがある場合は,DB サーバから受け取ったレコードをキャッシュファイルへ書き出し,キャッシュファイルに空きがない場合は,最も古い参照時刻をもつレコードをキャッシュファイルから削除し,DB サーバから受け取ったレコードをキャッシュファイルへ書き出す。Webサーバは,DBサーバから受け取ったレコードをキャッシュファイルへ書き出した後,検索結果を利用者に通知する。

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2004h16_1/2004h16h_sw_pm1_qs.pdf

設問1 図2 の検索システムで,キャッシュファイルの容量を10 M バイトとし,キャッシュファイルは空に初期化されているものとする。表2 のキー値をもつレコードを検索番号の順に検索する場合,キャッシュファイルからレコードが読み込まれるのは,どの検索番号のときか。複数ある場合は,すべて答えよ。

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2004h16_1/
2004h16h_sw_pm1_qs.pdf

設問2 図1 の検索システムと図2 の検索システムで,それぞれ,1 レコードを取り出 し利用者に検索結果を通知するのに要する時間を整理する。
 次の記述中の[a],[b]に入れる適切な数値を答えよ。
 図1 の検索システムの場合は,レコードを検索する際に必ずDB サーバに問合せを行う。したがって,1 レコードを取り出し利用者に検索結果を通知するため には2.6 秒必要である。 次に,図2 の検索システムについて,キャッシュファイルが満杯になっている ことを前提として考える。
 Webサーバがキャッシュファイルを調べ,キャッシュファイル中に検索したいレコードが存在する場合は,キャッシュファイルから該当レコードを読み出し, レコードの参照時刻フィールドに現在のシステム時刻を設定してキャッシュフアイル中のレコードを更新する。したがって,1 レコードを読み出し,利用者に検 索結果を通知するのに,[a]秒必要である。
 キャッシュファイル中に検索したいレコードが存在しない場合は,DB サーバに問合せを行う。DB サーバは,データベースにアクセスしWebサーバに結果を 返す。Webサーバは,最も古い参照時刻をもつレコードをキャッシュファイルか ら削除し,DB サーバから受け取ったレコードの参照時刻フィールドに現在のシ ステム時刻を設定して,キャッシュファイルに書き出す。したがって,利用者に 検索結果を通知するのに,[b]秒必要である。

設問3 検索回数が十分多い場合に,図1 の検索システムに比べ,図2 の検索システムの平均応答時間が1/2倍となるようにキャッシュファイルを準備したい。前提条件として,データベース中にレコードが10,000 件格納されており,かつ,参照頻度の高い上位100 件のレコードが80%の確率で参照される場合について考える。

 説明文中の[c]~[f]に入れる適切な字句を答えよ。
 なお,[a],[b]には,設問2 と同じ数値が入る。

 参照頻度の低い下位9,900 件のレコードについては,キャッシュファイル上に レコードが存在しない可能性が高い。したがって,見積りを簡単にするため,下 位9,900 件のレコードは,利用者からの参照要求が発生する都度,必ずDB サー バにアクセスするものと。て考えると,[b]秒を要するアクセスが20% の確率で発生する。
 次に,上位100 件のレコードは80%の確率で参照されるので,キャッシュファイル中にレコードが存在する可能性が高い。上位100 件の任意のーつのレコード がキャッシュファイル中に存在する確率をxとし,上位100 件のレコードはどれ も同じ確率で出現すると仮定すると,次式が成立する。

2.6/2=0.8×([c]×[a]+[d]×[b])+0.2×[b]

したがって,xは,[e]となる。
 下位9,900 件のレコードはキャッシュされないという前提で,必要なキャッシュファイルの容量を算出すると,[f]Mバイトとなる。

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2004h16_1/
2004h16h_sw_pm1_qs.pdf

(引用ここまで)
 解答と解説については、「2」のページに記載しています。

にほんブログ村 ゲームブログへ

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする