ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express Interstage HTTP Server 2.2運用ガイド
FUJITSU Software

1.3 Webサーバのプロセス構成(Solaris/Linux)


クライアントとの多重接続はプロセス/スレッド多重で実現し、通信プロセス数を自動で拡張/縮退する機能を備えています。
Interstage HTTP Server 2.2のプロセス構成は、環境定義ファイル(httpd.conf)において以下のディレクティブを使用して設定します。


機能概要

ディレクティブ

初期値

Webサーバ起動時の通信プロセス数

StartServers

5

「MaxClients÷ThreadsPerChild(注1)」に設定可能な最大値

ServerLimit

50

クライアント同時接続数

MaxClients

50

待機状態の通信スレッド数の最小値

MinSpareThreads

5

待機状態の通信スレッド数の最大値

MaxSpareThreads

10

「ThreadsPerChild」に設定可能な最大値

ThreadLimit

- (省略値:25)

1つの通信プロセスにおける通信スレッド数

ThreadsPerChild

1 (注2)

1つの通信プロセスが処理可能なリクエスト数

MaxRequestsPerChild

0

1通信プロセス数の上限です。剰余がある場合は、切り捨てられます。

2Webサーバコネクタと連携する場合は、必ず「1」を設定してください。「1」以外の値を設定した場合は、Webサーバの動作を保証できません。


ポイント

上記のディレクティブの設定値は、以下の大小関係を参考にして、指定してください。


ThreadsPerChildThreadLimit大小関係

ThreadsPerChild  ≦  ThreadLimit

StartServersServerLimitMaxClientsThreadsPerChildの大小関係

StartServers  ≦  ( MaxClients ÷ ThreadsPerChild )  ≦  ServerLimit

上記のディレクティブの設定値とプロセス構成の関係について以下に説明します。


■Webサーバ起動時のプロセス構成

Webサーバを起動すると、デーモンプロセスはStartServersディレクティブに設定した数の通信プロセスを生成します。



1証明書監視デーモンプロセスは、SSL運用時、証明書の有効日数を通知する警告メッセージをWebサーバ運用中に出力するように設定した場合に生成されます。警告メッセージの出力の有無は、SSLCertExpireディレクティブで設定します。

2CGIデーモンプロセスは、CGI運用時に生成されます。


通信プロセス数の拡張

クライアントからの接続要求を受け付けた場合、待機状態の通信スレッドは通信状態となります。

待機状態の通信スレッド数がMinSpareThreadsディレクティブの設定値より少ない場合は、MinSpareThreadsディレクティブの設定値以上の数になるように、通信プロセスを新しく生成します。



通信プロセス数の縮退

クライアントとの通信が切断された場合、通信状態の通信スレッドは待機状態となります。

待機状態の通信スレッド数がMaxSpareThreadsディレクティブの設定値を超過した場合は、MaxSpareThreadsディレクティブの設定値以下の数になるように、待機状態の通信プロセスを削除します。



最大多重動作

通信プロセス数が上限値(MaxClients÷ThreadsPerChild)に達した場合は、新しい通信プロセスを生成しません。

また、クライアントとの同時接続数がMaxClientsディレクティブの設定値に達した場合は、クライアントからの新しいリクエストをオペレーティングシステム内にキューイングします。

接続待ちキュー数は、ListenBacklogディレクティブで最大数を設定します。ただし、オペレーティグシステムの仕様に応じた値が加算されます。


注)α:オペレーティグシステムの仕様に応じた値


■1つの通信プロセスが処理可能なリクエスト数

1つの通信プロセスにおいて、プロセス生成後に受け付けるリクエストの合計がMaxRequestsPerChildディレクティブの設定値を超過した場合、その通信プロセスを再起動します。このとき、通信プロセスはクライアントに応答を返して通信を切断したあと、自ら終了します。