クライアントとの多重接続はプロセス多重で実現し、通信プロセス数を自動で拡張/縮退する機能を備えています。
Interstage HTTP Serverのプロセス構成は、環境定義ファイル(httpd.conf)において以下のディレクティブを使用して設定します。
機能概要 | ディレクティブ | 初期値 |
---|---|---|
Webサーバ起動時の通信プロセス数 | 5 | |
待機状態の通信プロセス数の最小値 | 5 | |
待機状態の通信プロセス数の最大値 | 10 | |
クライアント同時接続数 | 50 | |
1つの通信プロセスが処理可能なリクエスト数 | 0 | |
クライアントの同時接続数の上限値 | - (省略値:256) |
ポイント
上記のディレクティブの設定値は、以下の大小関係を参考にして、指定してください。
MaxClients ≧ MaxSpareServers ≧ StartServers ≧ MinSpareServers |
上記のディレクティブの設定値とプロセス構成の関係について以下に説明します。
Webサーバを起動すると、デーモンプロセスはStartServersディレクティブに設定した数の待機状態の通信プロセスおよび状態表示デーモンプロセスを生成します。
注)証明書監視デーモンプロセスは、SSL運用時、証明書の有効日数を通知する警告メッセージをWebサーバ運用中に出力するように設定した場合に生成されます。警告メッセージの出力の有無は、SSLCertExpireディレクティブで設定します。
待機状態の通信プロセスがクライアントからの接続要求を受け付けた場合、その通信プロセスは通信状態となり、待機状態の通信プロセスが1つ減ることになります。
待機状態の通信プロセス数がMinSpareServersディレクティブの設定値より少ない場合は、MinSpareServersディレクティブの設定値以上の数になるように通信プロセスを新しく生成します。
クライアントとの通信が切断された場合、その通信プロセスは待機状態となり、待機状態の通信プロセスが1つ増えます。
待機状態の通信プロセス数がMaxSpareServersディレクティブの設定値を超過した場合、MaxSpareServersディレクティブの設定値以下の数になるよう待機状態の通信プロセスを削除します。
通信プロセス数がMaxClientsディレクティブの設定値に達した場合は、新しい通信プロセスを生成しません。
また、クライアントとの同時接続数がMaxClientsディレクティブの設定値に達した場合は、クライアントからの新しいリクエストをオペレーティングシステム内にキューイングします。
接続待ちキュー数は、ListenBacklogディレクティブで最大数を設定します。ただし、オペレーティグシステムの仕様に応じた値が加算されます。
注)α:オペレーティグシステムの仕様に応じた値
(5) 1つの通信プロセスが処理可能なリクエスト数について
1つの通信プロセスにおいて、プロセス生成後に受け付けるリクエストの合計がMaxRequestsPerChildディレクティブの設定値を超過した場合、その通信プロセスを再起動します。このとき、通信プロセスはクライアントに応答を返して通信を切断したあと、自ら終了します。