過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト 高可用性プラットフォームの構築 問24

高可用性プラットフォームの構築/Webサーバーによる負荷分散

ApacheのHTTP持続的接続(HTTP Keep-Alive)に関する設定として、正しいものをすべて選べ。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「高可用性プラットフォームの構築」に対応。実際の試験問題ではありません)

正解:A、C

解説

KeepAlive Onを設定するとHTTP/1.1の持続的接続が有効になり、1本のTCP接続で複数のHTTPリクエストを処理できます。MaxKeepAliveRequestsを0に設定すると1つの持続接続で処理できるリクエスト数の制限がなくなります(デフォルト値は100)。KeepAliveTimeoutはレスポンスを返した後の後続リクエスト待機時間であり、初期接続のタイムアウトはTimeoutディレクティブが担います。KeepAliveはクライアントとApache間の接続のみを制御し、ApacheとバックエンドサーバーとのHTTP接続はmod_proxy側の設定(ProxyTimeout・proxy-nokeepalive等)で別途管理します。

選択肢ごとの解説

  • A正しい。KeepAlive Onにすると、HTTP/1.1の持続的接続が有効になり、同一のTCP接続を使って複数のリクエストを連続して処理できます。
  • B誤り。KeepAliveTimeoutはHTTPレスポンスを返した後に次のリクエストを待つ時間です。最初のリクエストを受け付けるまでの初期タイムアウトはTimeoutディレクティブが担います。
  • C正しい。MaxKeepAliveRequests 0を設定すると、1つの持続接続において処理できるリクエスト数の制限がなくなります。大量のリクエストを処理する接続を長時間維持できます。
  • D誤り。KeepAliveの設定はクライアントとApache間の接続のみに影響します。ApacheとバックエンドサーバーとのHTTP接続はmod_proxy側の設定(ProxyTimeout、SetEnv proxy-nokeepalive等)で管理します。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く