Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus HTTP Server


4.1.3 HTTP Serverのプロセス構造(Windows版)

HTTP Serverのプロセス構造を次に示します。

図4‒6 HTTP Serverのプロセス構造(Windows版)

[図データ]

HTTP Serverを起動すると,制御プロセスが起動します。制御プロセスは,サーバプロセスを起動しその稼働を監視します。サーバプロセスが起動すると同時にメインスレッドが起動します。メインスレッドは,リクエストを受信するアクセプトスレッドを一つと,リクエストを処理するサーバスレッドをThreadsPerChildディレクティブで指定した個数だけ起動します。

クライアントからのTCP接続は,Listenディレクティブで指定したIPアドレスとポートからOSが受信し,OS内のListenキューに保留します。ListenキューのサイズはListenBacklogディレクティブで指定できます。Listenキューに格納できなかったTCP接続は確立されません。アクセプトスレッドはListenキューからTCP接続を取り出し,HWSMaxQueueSizeディレクティブで指定した大きさのリクエストキューに登録します。それをサーバスレッドの一つが取り出してHTTPリクエストを受信し処理します。HWSMaxQueueSizeディレクティブ指定値を超えたためリクエストキューに格納できなかったTCP接続は,アクセプトスレッドによって閉じられます。

サーバプロセス数およびサーバスレッド数が増減することはありません。

制御プロセスおよびサーバプロセスともに,プロセス名(実行プログラム名)はhttpsd.exeです。制御プロセスのプロセスIDは,PidFileディレクティブに指定したファイルに出力します。