基本情報技術者 2016年 秋期 午後 問04
Web画面の表示に要するデータ転送時間に関する次の記述を読んで、設問に答えよ。
D社は、自社のWebサイトをインターネット上に公開している。
D社では、Web画面1ページを構成する全データの転送に掛かる時間を、5秒以内に収めるよう基準を定めている。個々のデータの転送に掛かる時間は、D社が定めたデータ転送時間計算モデルを基に算出する。
D社が定めたデータ転送時間計算モデルは、次のとおりである。
(1) ターンアラウンドタイム(ブラウザ、サーバ間で短いメッセージが往復するのに掛かる時間)t = 0.005(秒)、実効転送速度(サーバ、ブラウザ間におけるデータ転送の速さ)e = 1×(バイト/秒)とする。
(2) ブラウザはキャッシュ機能をもっている。Web画面を表示する際に、必要なデータがブラウザにキャッシュされているときは、サーバに当該データの再転送の要否確認を要求する。再転送が必要な場合は、応答として当該データが転送される。
(3) ブラウザが、サーバに対して要求を送信し始めてから、要求に対する結果の受信が完了するまでに掛かる時間を、表1に示す。
(4) 表1に関わる通信処理は逐次実行され、複数の通信処理が並行して行われることはない。また、表1で示した時間以外は無視する。

D社では、自社が取り扱う商品の情報を画像付きで一覧表示する機能(以下、一覧表示機能という)を、Webサイトに付加することにした。
一覧表示機能を実現するに当たり、商品情報を一覧表示するWeb画面(以下、一覧表示画面という)1ページで表示する商品情報の最大数を、一覧表示画面を構成するデータの転送に掛かる時間を基に決定したい。一覧表示画面は、表示する商品の数にかかわらずに必要になるデータ(以下、固定データという)と、表示する商品の数に応じてデータサイズや個数が変動するデータ(以下、変動データという)で構成される。
固定データは、JavaScriptファイルやスタイルシート、画面の装飾に使う画像データなど合計100個あり、固定データ1個の平均サイズはバイトである。
変動データは、一つのHTML文書データと、表示する商品n個分の画像データから成る。HTML文書データのサイズは、バイトである。商品の画像データ1個の平均サイズはバイトである。
固定データの全てがブラウザにキャッシュされているとき、それぞれのデータごとにデータの再転送の要否確認をサーバに要求したところ、全てに再転送が不要であるとの応答を受け取った。最初の要求をしてから最後の要求に対する応答を受け取るまでに掛かる時間はa秒である。
固定データのいずれもがブラウザにキャッシュされていないとき、これらの固定データの総転送時間はb秒である。このとき、一覧表示画面1ページを構成するデータの転送時間がD社の基準を満たす商品情報の最大数nは、次式を解くことによって求めることができる。ここで、変動データもブラウザにキャッシュされていないものとする。
b + 3×t + c + (3×t + d) × n ≦ 5
設問1:
問題文を見る 本文中のに入れる正しい答えを、解答群の中から選べ。
a, bに関する解答群
ア:0.005
イ:0.015
ウ:0.02
エ:0.5
オ:0.515
カ:1
キ:1.5
ク:2
c, dに関する解答群
ア:
イ:
ウ:
エ:
オ:
カ:
キ:
ク:
模範解答
a:エ、b:ク、c:カ、d:キ
解説
解答の導き方
まず、時間を合計するときは、要求を一つずつ処理する点に注意します。問題文には「複数の通信処理が並行して行われることはない」とあります。そのため、各データの処理時間を足し合わせます。
キャッシュとは、ブラウザ(Webページを表示するソフト)がデータを一時的に保存しておく機能です。また、秒は短いメッセージが往復する時間、バイト/秒はデータを転送する速さです。
a:キャッシュされた固定データの確認時間
固定データは100個あります。問題文では、全てのデータについて再転送が不要だったとあります。表1によると、再転送が不要な場合の時間は、データのサイズに関係なくです。
したがって、確認に掛かる時間は次のとおりです。
よって、aはエです。再転送が不要なので、データ本体を転送する時間は加えません。
b:キャッシュされていない固定データの転送時間
固定データ1個の平均サイズはバイトです。表1によると、キャッシュされていないデータの転送時間は、です。ここで、はデータサイズです。
固定データ1個の転送時間は、
です。固定データは100個あり、処理は逐次実行されるため、
となります。よって、bはクです。
c:HTML文書データのサイズに対応する時間
HTML(HyperText Markup Language:Webページの内容や構造を記述する言語)文書データは1個です。そのサイズはバイトです。
表1の式では、データサイズを転送速度で割った部分が、データ本体の転送時間に当たります。HTML文書データの転送時間は、式の中でに分かれているので、
です。よって、cはカです。はHTML文書データのサイズに含まれるため、cにも含めます。
d:商品画像1個のサイズに対応する時間
商品画像は、商品1個につき1個あります。画像1個の平均サイズはバイトです。
画像1個を転送する時間は、表1に従ってです。画像が個あるため、式ではこの時間が倍されます。したがって、の外にあるには、画像1個分のデータ本体の転送時間を入れます。
よって、dはキです。は式の外側ですでに掛けられているため、dに画像の個数を含めません。
式から求められる商品情報の最大数
求めた値を式に当てはめると、次のようになります。
整理すると、
です。これを解くと、となります。商品情報の数は整数なので、最大数は73個です。実際になら転送時間は4.9815秒、なら5.022秒となり、5秒以内に収まるのは73個までです。
誤りやすいポイント
- キャッシュされていて再転送が不要な場合は、データ本体の転送時間を加えません。表1に従い、確認に掛かる時間だけを数えます。
- キャッシュされていない場合は、データ本体の転送時間だけでなく、要求と応答に関わるも加えます。
- 固定データの転送時間は、1個分の時間に個数100を掛けます。通信処理が並行して行われないため、時間を重ねて数えることはできません。
- 画像データの式では、が画像の個数を表します。画像1個分のサイズを表すに、さらにを含めると、個数を二重に数えてしまいます。
- 最後に求めるは整数です。上限が約73.45の場合、73.45に近い整数へ四捨五入するのではなく、条件を満たす最大の整数を選びます。
FAQ
Q: 再転送が不要な場合も、要求をサーバに送る時間は掛かりますか?
A: はい。データが不要かをサーバに確認する通信は行います。表1では、その確認に対する応答までの時間がとされています。
A: はい。データが不要かをサーバに確認する通信は行います。表1では、その確認に対する応答までの時間がとされています。
Q: 商品画像の転送時間に、なぜ画像1個当たりを加えるのですか?
A: 表1では、データを受信する場合の時間が「+データサイズを転送速度で割った時間」とされています。画像は1個ずつ転送するので、その式が画像の個数だけ繰り返されます。
A: 表1では、データを受信する場合の時間が「+データサイズを転送速度で割った時間」とされています。画像は1個ずつ転送するので、その式が画像の個数だけ繰り返されます。
Q: 求めたが小数になった場合、なぜ切り捨てるのですか?
A: は表示する商品情報の個数なので、整数でなければなりません。また、5秒以内という条件を超えない最大数を求めるため、小数部分は使えません。
A: は表示する商品情報の個数なので、整数でなければなりません。また、5秒以内という条件を超えない最大数を求めるため、小数部分は使えません。
関連キーワード: キャッシュ、ターンアラウンドタイム、実効転送速度、逐次処理、データ転送時間



