複数リソースからなるページを用いた分散 Web システムの評価
17T289 吉田 悠(最所研究室)
当研究室で開発している分散 Web システムに対して，複数リソースからなるテスト用 Web ページを用いて実用性の評価を行う．

1ージ 1 は本学 moodle を，ページ 2 は YouTube
トップページを，ページ 3 については Amazonを，ページ 4 は Yahoo!ショッピングをページ
5 は Twitch を参考にして構築した．テストページは画像ファイル群と，その画像ファイルをすべて参照する html ページによって構成されている．

はじめに

当研究室では，サーバの負荷量が大きくなった時にキャッシュサーバを動的に起動・停止することで，サーバにかかる負荷を分散する分散Web システムを開発している[1][2]．
これまで，分散 Web システムの評価実験は単一のリソースからなる Web ページを用いて行われていた．しかし，実際にインターネット上にある Web ページのほとんどは，画像ファイルなどの複数のリソースを組み合わせて構成されている．そのため，当研究室で開発した分散 Web システムが実用的なものであるかどうか知るために，複数のリソースからなるWeb ページに対する評価を行った．
本稿では，評価実験およびその結果について述べる．
2

表 1：テスト用 Web ページ
ァイル 1
ページ名 全体ファイ画像ファ フルサイズ
個当たりのイル数(MB)
サイズ(MB)
ページ 12100.2
ページ 220120ページ 341000.04
ページ 481000.08
ページ 58500.164

分散 Web システム

図 1 に分散 Web システムの構成を示す．
本システムはコンテンツの提供元であるオリジンサーバと，負荷状況に応じて起動・停止されるキャッシュサーバ，リクエストを起動中のサーバに分散させるロードバランサで構成されている．ロードバランサに，負荷状況に応じてキャッシュサーバの起動停止および，それらへのリクエストの振り分けを指示するプログラムを追加している．
3

単一 Web サーバでの応答性の調査

分散 Web システムに対する評価実験を行う
前に，単一の Web サーバに対しての評価実験を行う．本実験では，クライアントと Web サーバ間のインターネット上の距離が応答時間に与える影響と，KeepAlive On/Off が応答時間に与える影響を確認する．表 2 に実験に使用する機器の性能を示す．
表 2：実験使用機器台数(台)

テスト用 Web ページ
サーバ

テスト用 Web ページは，インターネット上にある Web ページの構造を調査した結果に基づいて構築したページの構造を表 1 に示す．ペ

クライアントオリジンサーバ
リクエスト
ロードバランサが振り分け
クラウド
振分先更新

キャッシュサーバ
負荷監視機能

起動・停止情報

測定結果
キャッシュサーバ

キャッシュサーバ管理機能

メモリ量(GiB)

1
1

3.5
3.5

実験では，Microsoft の Azure が提供しているクラウドプラットフォーム上にサーバとクライアントを構築した．サーバを Azure の西日本地域に，クライアントを西日本と東日本にそれぞれ設置した．これにより，西日本のサーバへアクセスしたときは近距離，東日本のサーバへアクセスしたときは遠距離となる．本実験
では，遠距離と近距離のサーバに対してKeepAlive On/Off の設定でアクセス実験を行う．実験の流れは以下のようになる．
1. 指定したプロセス数でページ全体を取得する wget を実行するプログラムを用意
2. そのプログラムを 1,2,4,8,16,32 のプロセス数で同時に実行

ユーザ

振分先設定機能

2
1

CPU コ
ア数

起動・停止

図 1：システムの構成
1

ページ3

ページ4

ページ5

ス 4
時 2
間 0( )

4

8

16

2000
1500
1000
500

32
tp_1
servers

遠距離 keepalive Off
ページ1

ページ3

ページ4

tp_2
op_1

tp_3
op_2

経過時間(s)
tp_4
op_3

tp_5
op_4

th_allop_5

図 3：稼働率とスループットに関するグラフ
ページ5

1 クライアントを 5 台起動する
2 起動したサーバは連続して wget を実行するプロセスを決められた実行間隔で起動．
3 起動してから実行時間分の時間が経過したプロセスから停止していく．
図 3 に実行間隔を 1.5 秒，実行するプロセス数を 50，実行時間を 105 秒にした時の結果を示す．図 3 からわかるようにオリジンサー
バの稼働率(赤線)は同時アクセス数に比例して伸びていた．一方，全体のスループット(青線)はすぐに一定になっており同時アクセス数の影響を受けなかった．紙面の都合で図を載せることができなかったが，応答時間については，稼働率と同様の傾向を示していた．さらに，キャッシュサーバの台数が増えても全体のスループットが伸びなかった．この時，どのキャッシュサーバも通信量が 700[Mpbs]前後であった．このことから，サーバ側の通信路がボトルネックであると考えられる．

0( )

1s

2500

0
10213243546475
89101114
127139152165
177189201

2

同時アクセス数

総 10
ア8ク6セス 4時 2間

300001s

起動台数(/100台)

ページ1スループット(回/s)

総10ア
ク 8
セ 6

10.90.80.70.6
0.50.40.3
0.20.1
03500

稼働率

4000

遠距離 keepalive On2481632

同時アクセス数

図 2：遠距離 KeepAlive On/Off 結果
3.

応答時間の平均をグラフにプロット
遠距離の実験結果を図 2 に示す．KeepAlive
On の時は同時アクセス数と応答時間が比例しているが，Off の時は同時アクセス数に影響されずほぼ一定になっていることがわかる．近距離については，KeepAlive On/Off に関係なく遠距離 KeepAlive On の時とほとんど同じ傾向であった．これは，KeepAlive Off 時は，TCPのコネクション確立のオーバーヘッドやスロースタートが影響していると考えられる．
5 分散 Web システムの評価実験
分散 Web システムに対して評価実験を行った．
本実験での評価項目を以下に示す．
⚫ 稼働率：サーバが処理に割いているリソースを示す．本実験ではサーバの最大クライアント数に対する現在のクライアントの割合．
⚫ 応答時間：ユーザが送ったリクエストが返ってくるまでの時間．
⚫ 通信量(bps)：サーバにおける単位時間当たりの通信量4

本稿では，以下のことについて述べた．
単一サーバ上の，複数のリソースからなるWeb ページに同時アクセスした時の応答時間について調査した．
⚫ 同じページを用いて分散 Web システムを評価した．
複数の静的リソースからなるページへ低遅延のネットワークでアクセスすると，サーバの通信路がボトルネックになることがわかった．
今後の課題として通信路がボトルネックへになることへの対応や，CGI によって生成されページを用いた評価実験を行うことなどが考えられる．この実験を行うことで，条件に応じて変化する画像ファイルを持つ Web ページを想定した評価実験を行うことができる．
⚫

本実験で使用した機器の情報を表 3 に示す．
表 3：実験使用機器台数(台)CPU コア数

メモリ量
(GiB)

サーバ

513.5

クライアント513.5

ロードバランサ 1

828

おわりに5

参考文献

[1]畑 智裕 ”分散 Web システムにおけるロードバランサを用いたオートスケールアルゴリ
ズムの改良と評価” ，香川大学 卒論 2020
[2]松田 正也 “クラウドに適した分散 Web シ
ステムにおけるオートスケールアルゴリズムの改良と評価” ，香川大学 修論 2019

本実験では，先行研究と実験環境を同じにするために同一のサブネット内で行った．そのため，通信遅延は非常に小さいと考えられる．実験の流れは以下のようになる．

2