19.5. パフォーマンスの調整

パフォーマンスの調整タブでは、子サーバープロセスの最大数やクライアント接続のApache HTTP サーバーオプションを 設定できます。通常の使用では、これらのオプションにはデフォルト値を設定しておけば十分に動作します。これらの設定値を変更すると、 Webサーバー全体のパフォーマンスに影響が及びます。

図 19-11. パフォーマンスの調整

接続の最大数は、サーバーが処理する同時クライアント要求の最大数に設定します。接続ごとに、 子httpdプロセスが作成されます。プロセスが最大数に達すると、それ以降、子サーバープロセスが 解放されるまでは、誰もWebサーバーへ接続することはできません。再コンパイルしない限り、この値を256より大きい 数値に設定することはできません。このオプションは、MaxClientsディレクティブに 相当します。

接続タイムアウトは、サーバーが通信時に受信と送信を待機する時間を秒単位で定義します。特に、 接続タイムアウトではサーバーがGET要求を受け取るまで待機する時間、POSTまたはPUT要求時にTCPパケットを 受信するまで待機する時間、TCPパケットに応答するACKを受け取るまで待機する時間を定義します。接続タイムアウト は、デフォルトでは300秒に設定されています。通常の環境では、デフォルト値で十分に動作します。このオプションは、 TimeOutディレクティブに相当します。

接続ごとの最大リクエスト数は、1つの固定接続が許容する要求の最大数に設定します。 デフォルト値は100です。通常の環境では、デフォルト値で十分に動作します。このオプションは、MaxRequestsPerChild ディレクティブに相当します。

接続ごとのリクエスト数を無制限にするオプションをチェックすると、MaxKeepAliveRequests ディレクティブは0に設定され、要求の許容数は無制限となります。

永続接続を有効オプションが未チェックの場合、KeepAliveディレクティブがfalseに設定されます。このオプションにチェックを付けると、KeepAliveディレクティブはtrueに設定され、KeepAliveTimeoutディレクティブは次の接続のタイムアウト値で選択した数値に設定されます。このディレクティブは、サーバーが要求を処理した後、接続を切断する前に、次の要求を待機する時間を秒数で設定します。要求を受け取ると、代わりに接続タイムアウト値が適用されます。

永続接続を大きな値に設定すると、サーバーへの接続を試みるユーザー数によっては、サーバーのパフォーマンスが低下することがあります。数値が大きいほど、最後のクライアントがサーバーへ接続した後に、別の接続が解放されるまで待機するサーバープロセス数が多くなります。