第 7 章 実験 51
7.1.1 SPECweb 標準
リクエスト待機間隔と持続的接続時間
図 7.1にリクエスト待機間隔のヒストグラムと,本機構が設定した持続的接続 時間を示す.持続期間内の山は300ミリ秒を中心に分散している.本機構は持続 的接続時間として450ミリ秒を設定した.
図 7.2に持続的接続時間の時間的変化を示す.本機構はデフォルト値である15 秒から,最終的に450ミリ秒に落ち着いた.制御回数50,80,130回のあたりで
3.3.3節の調整方式により,持続的接続時間の修正が行なわれている.
収束の速さは式(3.4)のαの値(3.3.4節)により調節できる.実験では,α= 0.9 としている.この値は,最終的に設定される持続的接続時間に影響を与えないが,
ワークロードの変化に対する俊敏さを決める.
0 2 4 6 8 10 12 14
0 20 40 60 80 100 120 140
持続的接続時間の設定回数
持続的接続時間 [s]
図 7.2: 持続的接続時間の時間的変化(SPECweb標準) 持続的接続時間とサーバ性能
図 7.3に,持続的接続時間を自動設定した場合のスループットと平均応答時間 の測定結果を示す.
最適設定では,400ミリ秒が適切な値であった.これは,全数探索の結果の中で 最も高いスループットとなっており,応答時間も他とあまり変わらない結果を示 しているからである.一方,持続的接続時間を400ミリ秒以下に設定すれば,持 続期間中も頻繁な再接続が発生し,そのコストによるスループットの低下を招く.
持続的接続の機能を禁止し,HTTPリクエストごとに再接続した場合も同様であ る.また,持続的接続時間を400ミリ秒以上に設定すれば,スループットはまた 低下する.サーバへの接続を待っているクライアントが思考期間中の接続を維持 しているために,長時間サーバに接続できないためである.
本機構は,持続的接続時間を自動的に450ミリ秒に設定した.これは,最適設 定の適切な値とほとんど変わらない結果を示している.自動設定と最適設定のス ループットの差は1.0–19.3%である.また,持続的接続時間のデフォルト設定であ る15秒に比べ,スループットは27.5–368.5%向上している.本機構を導入したこ とによるオーバヘッドは無視できるほど小さい.
0 2 4 6 8 10 12 14 16 18 20
0 200 400 600 800 1000 1200 1400 1600
スループット [MB/s]
クライアント数
提案手法 200 ms 400 ms 600 ms 15 sec (デフォルト) 持続的接続なし
(a)スループット
0 200 400 600 800 1000 1200 1400 1600
0 200 400 600 800 1000 1200 1400 1600
平均応答時間 [ms]
クライアント数
提案手法 200 ms 400 ms 600 ms 15 sec (デフォルト) 持続的接続なし
(b) 平均応答時間
図 7.3: 持続的接続時間によるサーバ性能(SPECweb標準)
サーバ性能の詳細
図 7.3(b)の平均応答時間を,より詳細に調べた結果が図7.4である.ここでは,
(a) 接続の確立時間と (b) 確立時間を含まないサーバ上でのHTTPリクエストの 平均処理時間を調べている.
図 7.4(a)を見ると,持続的接続時間は確立時間に大きな影響を与えている.ク
ライアント数が最大クライアント数付近の600までは,持続的接続時間の値に関 わらず確立時間は一定であるが,それを超えると急激に増加を始める.この増加 は持続的接続時間の値により異なり,持続的接続時間が長いほど増加が大きい.持 続的接続を禁止した場合には最も短い接続確立時間となっている.これは,持続 的接続時間が長いほどサーバとの接続が維持されている接続が多くなり,新規の クライアントがサーバに接続しづらくなるためである.本機構の結果は最適設定 である持続的接続時間が400ミリ秒の結果に近い.
一方,図7.4(b)を見ると,持続的接続時間はサーバ上のHTTPリクエスト処理
時間にほとんど影響を与えず,ほぼ一定である.ただし,今回の実験では人工的 に生成したワークロードを使用しているため,サーバだけではなく,クライアン トの負荷状況の影響も受ける.そのため,持続的接続時間をデフォルト値である 15秒に設定した場合には,サーバに接続できないことでクライアント側も飽和し,
不安定な振舞いを示している.
以上から,持続的接続時間は接続の確立時間に大きな影響を与える.一方,サー バ上のHTTPリクエストの平均処理時間にはほとんど影響を与えない.確立時間 は持続的接続時間が長いほど増加するが,サーバ性能は一度の接続でのHTTPリ クエストの処理数にも依存する.結果として,両者のトレードオフによって性能 が決まり,図 7.3のようなサーバ性能となる.
0 200 400 600 800 1000 1200 1400 1600
0 200 400 600 800 1000 1200 1400 1600
接続時間 [ms]
クライアント数 提案機構
200 ms 400 ms 600ms 15 sec (デフォルト) 持続的接続なし
(a)接続の確立時間
0 200 400 600 800 1000 1200 1400 1600
0 200 400 600 800 1000 1200 1400 1600
HTTPリクエスト処理時間 [ms]
クライアント数 提案機構200 ms
400 ms 600ms 15 sec (デフォルト) 持続的接続なし
(b) HTTPリクエスト処理時間
図 7.4: さまざまな持続的接続時間でのサーバ性能の詳細(SPECweb標準)
0 2 4 6 8 10 12 14
0 0.5 1 1.5 2 2.5 3 3.5 4
頻度 [%]
リクエスト待機間隔 [sec]
持続的接続時間 (850msに設定)
図 7.5: リクエスト待機間隔の時間分布(SPECweb大)