4.1.4 稼働管理について
サーバプロセス(Windows版の場合はサーバスレッド)の稼働状況を管理する上で必要となる,持続型接続の動作原理とタイマ監視機能について,説明します。
- 〈この項の構成〉
(1) 持続型接続(KeepAlive)
持続型接続(KeepAlive)は,クライアントからのリクエストに対してレスポンスを返したあともTCPコネクションを切断しないで,同じクライアントからの次のリクエストを待つ機能です。
この機能は,KeepAliveディレクティブにOnを指定し,かつクライアント側が対応している場合に使用できます。TCPコネクションを切断しないため,クライアントが複数のリクエストを連続して送信する場合にはレスポンス時間を短縮できます。
次のリクエストを待つ間はサーバプロセスがクライアントに占有されますが,この待ち時間はKeepAliveTimeoutディレクティブで設定できます。また,1クライアントが持続型接続を利用して何回までリクエストを処理できるかをMaxKeepAliveRequestsディレクティブで設定します。
なお,HTTP/2通信ではKeepAliveディレクティブの設定に関係なく,コネクションが持続します。コネクションが持続する時間は,KeepAliveTimeoutディレクティブ値に従います。
(2) タイマ監視
次の場合,Timeoutディレクティブに設定された値によって,タイマ監視ができます。
-
クライアントからのリクエスト受信(コネクション確立後,HTTPプロトコルの受信)時
-
クライアントへのレスポンス送信時
-
CGIプログラムへのリクエスト送信時
-
CGIプログラムへのリクエスト送信後からレスポンス受信まで
-
CGIプログラムからのレスポンス受信時
-
CGIプログラムからのレスポンス受信後,入出力用のパイプを閉じるまでの待ち時間
-
リバースプロキシを使用している場合,バックエンドサーバへのリクエスト送信時
-
リバースプロキシを使用している場合,バックエンドサーバへのリクエスト送信後からレスポンス受信まで
-
リバースプロキシを使用している場合,バックエンドサーバからのレスポンス受信時
(3) 制御プロセスの監視
PidFileディレクティブで指定したファイルに出力されるIDのプロセスを監視すると,HTTP Serverの制御プロセスを監視できます。監視するプロセス名(実行プログラム名)はWindows版の場合httpsd.exe,UNIX版の場合httpsdです。
制御プロセスを監視する際には,PidFileディレクティブで指定したファイルに格納されたIDのプロセスがHTTP Serverのプロセスであることを必ず確認してください。HTTP Serverのプロセスであることを確認するには,プロセスの実行プログラム名が,Windows版の場合httpsd.exe,UNIX版の場合httpsdであることを確認してください。