Apacheウェブサーバ 持続的接続時間の設定機構
最大クライアント数の設定機構
持続的接続時間
最大クライアント数
本論文のパラメータ設定機構 設定対象サーバ
リクエスト待機間隔
応答時間の標準偏差
独立に動作
図 5.1: ウェブサーバのパラメータ自動設定機構
5.2.1 パラメータ特性に基づく相関
持続的接続時間と最大クライアント数の間には,パラメータの特性上避けられ ない相関がある.持続的接続時間は最大クライアント数に影響を与える.反対に,
最大クライアント数は持続的接続時間にほとんど影響を与えない.図 5.2にその 関係を示す.本論文の2つの設定機構はそれぞれ独立して動作するが,2つのパラ メータを同時設定した場合の適切な値に近づけることができる.
持続的接続時間は最大クライアント数の適切な値に影響を与える.持続的接続 時間が変わると,全体の接続数に占める持続期間内の接続の割合が変化する.持 続期間内の接続は頻繁にリクエストの送受信を行うため,この割合によってサー バの負荷が変化する.サーバの処理能力と1つの接続あたりの負荷に応じて最大 クライアント数は設定されるため,持続的接続時間は結果として最大クライアン ト数に影響を与える.
2章の実験の図2.2からも,2つのパラメータのこの相関を読み取ることができ る.SPECweb標準ワークロードの場合,スループットが最大となる地点は持続的 接続時間が600ミリ秒,最大クライアント数が800である.持続的接続時間を1秒 と大きくした場合,最大クライアント数も大きい1000前後でスループットが最も 高くなる.これは,持続的接続時間を長くすることで思考期間に入っている接続 の割合が高まり,接続数あたりのサーバの負荷が低下するためである.反対に,持 続的接続時間を200ミリ秒と短くした場合も最大クライアント数は1000前後でス
持続的接続時間
最大クライアント数 サーバの負荷 サーバの
ハードウェア性能
リクエスト待機間隔 サーバ側の
応答時間 使用中の
TCP接続の割合
クライアント側の振舞い サーバ側の振舞い
図 5.2: パラメータ間の相関
ループットが最も高くなる.これは,持続期間内の頻繁な再接続によって接続数 あたりの負荷は高まるが,サーバにクライアントが接続されている時間が短いた めに,最大クライアント数を大きくとることでサーバ性能が保たれるためである.
一方,最大クライアント数は持続的接続時間にあまり影響を与えない.最大ク ライアント数はサーバの振舞いに影響を与え,持続的接続時間は主にクライアン トの振舞いに応じて適切な値が変わるためである.もし,最大クライアント数の 値が変わり,サーバの負荷が変化しても,クライアントの持続期間内におけるリ クエスト待機間隔は変わらない.結果として,持続的接続時間は最大クライアン ト数によって変化しない.
本論文の設定機構では,まず持続的接続時間を設定することで接続の使用率が 高められ,その使用率に合わせて最大クライアント数が設定される.2つの設定機 構は同時に動作するが,持続的接続時間の設定は最大クライアント数の設定にく らべて短時間で完了するため,正しく設定することができる.
5.2.2 その他の原因による干渉
その他の原因による干渉は,それぞれの設定機構がパラメータ特有の性質を示 す観測値を基準として設定を行うために干渉が抑えられている.それぞれのパラ メータ設定機構は観測値として他のパラメータからの影響が少なく,設定対象の
パラメータの特性をよく表わすものを選択している.
持続的接続時間の設定では,持続的接続時間に特有のリクエスト待機間隔を観測 値として設定を行う.リクエスト待機間隔が持続的接続時間を超えた場合,TCP 接続の切断が行われるため,この観測値は持続的接続時間との関係が深い.
最大クライアント数の設定では,サーバ上の応答時間を観測値として使用する.
サーバ上で測定した応答時間は接続の確立や切断にかかる時間を含まず,サーバ の負荷状況によって大きく決まる.持続的接続時間は主に接続にかかる時間に影 響を与えるため,サーバ上の応答時間にはあまり影響を与えない.
5.3 適用可能なサーバ構成
本機構は,単一ノードで構成されたウェブサーバに対して広く適用することが 可能であり,2章,7章の実験においても単一ノードのサーバを対象に実験を行っ ている.
近年,J2EE[73]などの階層化されたウェブサーバが大規模なサイトを中心に用 いられている.典型的には,Apacheなどのウェブサーバをフロントエンドに置き,
アプリケーションサーバを中間層に,データベースサーバをバックエンドとした 3階層構成が用いられる.この構成では,ウェブサーバはシステム全体の一部とな るが,フロントエンドとして引き続き使用されており,持続的接続時間と最大ク ライアント数は全体の性能に大きな影響を与える.よって,本設定機構を使用す ることができる.特に,最大クライアント数はシステム全体に流入する最大のク ライアント数を決めるものであり,この値を適切に設定すれば全体の負荷を調節 することができる.本論文の最大クライアント数設定機構は応答時間のみを利用 するため,階層が増加しても応答時間に最大クライアント数の影響が現れれば設 定可能である.
また,ウェブサーバを多数並べたクラスタ構成[32, 69]をとることも多い.この 構成では,それぞれのノードに対して本設定機構を追加することで,パラメータ の自動設定を行うことができる.パラメータ値を適切に設定する代わりにノード を追加することも考えられるが,2章の実験ではパラメータを適切に設定すること でデフォルト値と比べて6倍のスループットが得られており,パラメータ値を適切 に設定することで6倍のノードを追加するのと同等の効果が得られている.