6.5.1 Webクライアントからの同時接続数の制御
インプロセスHTTPサーバでは,Webクライアントからの最大接続数の設定とあわせて,接続を拒否するリクエスト数を設定することによって,Webクライアントからの同時接続数を制御します。
Webクライアントからの接続数の増加や,J2EEアプリケーションなどの影響でJ2EEサーバの負荷が高くなった場合に,Webクライアントからのリクエストの受け付けを拒否して,即座にエラーを返すことで,Webクライアントは即座にレスポンスを受信できます。これによって,J2EEサーバの負荷を一定に抑え,リクエストに対するレスポンスタイムを維持できます。
Webクライアントからの最大接続数から接続を拒否するリクエスト数を引いた値が,Webクライアントからの接続を承諾する数となります。
Webクライアントからの同時接続数の制御の概要を,次の図に示します。
例えば,Webクライアントからの最大接続数を40として,接続を拒否するリクエスト数を1とする場合,インプロセスHTTPサーバに接続し同時にリクエストを処理できるWebクライアントの数は39となります。リクエスト処理中のスレッド数が39になると,残りの1スレッドは処理中のリクエスト処理スレッド数が減るまで受信したリクエストに対してエラーを返し続けます。Webクライアントからの同時接続数の制御の例を次の図に示します。
Webクライアントからの同時接続数の制御によって,接続を拒否したリクエストに対しては,ステータスコード503のエラーをWebクライアントに返します。このときクライアントに返すエラーページをカスタマイズすると,レスポンスメッセージのカスタマイズや,ほかのサーバへのリダイレクトができます。
Webクライアントへのレスポンスのカスタマイズ(インプロセスHTTPサーバの場合)の設定については,「6.14 HTTPレスポンスを使用したWebクライアントへのレスポンスのカスタマイズ」,および「6.15 エラーページのカスタマイズ(インプロセスHTTPサーバ)」を参照してください。
- 注意事項
-
フレームを使用したページや,画像を挿入したページを表示する際,Webクライアントから複数のリクエストを受信する場合があります。その場合,Webクライアントからの同時接続数の制御によって表示されるページが部分的にエラーになることがあります。