ここでは,Persistent Connectionによる通信制御について説明します。
Persistent Connectionは,WebクライアントとインプロセスHTTPサーバ間で確立したTCPコネクションを持続して,複数のHTTPリクエスト間で使用し続けるための機能です。Persistent Connectionを使用することによって,WebクライアントとWebサーバ間でのコネクション接続に掛かる時間を短縮し,処理時間の短縮と通信トラフィックの軽減を図れます。
インプロセスHTTPサーバでは,次に示す項目を設定することで,Persistent Connectionによる通信制御を実現します。
- Persistent Connection数の上限値
Persistent Connection数の上限値を設定することで,一つのTCPコネクションで連続してリクエストを処理できるWebクライアント数を制御します。TCPコネクション数が指定した上限値を超えた場合,リクエスト処理終了後に切断します。これによって,新規リクエストを処理するスレッドが確保でき,リクエスト処理スレッドを特定のクライアントに専有されることを防げます。
- Persistent Connectionのリクエスト処理回数の上限値
Persistent Connectionのリクエスト処理回数の最大値を設定することで,同じWebクライアントから連続してリクエスト要求があった場合の処理を制御します。
Persistent Connectionのリクエスト処理回数が指定した上限値を超えた場合,リクエスト処理終了後にコネクションを切断します。これによってリクエスト処理スレッドを特定のクライアントに専有し続けられることを防げます。
- Persistent Connectionのタイムアウト
Persistent Connectionのリクエスト待ち時間にタイムアウトを設定することで,Persistent Connectionのリクエスト待ち時間を制御します。指定したタイムアウト時間を超えてリクエスト処理要求がない場合は,TCPコネクションを切断します。これによって,使用されていない状態でTCPコネクションが専有され続けることを防げます。
なお,コネクションを切断されたWebクライアントは,接続のリトライを実行して,再度リクエストを送信します。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.