ADC

クライアントキープアライブ

クライアントキープアライブ機能により,複数のクライアント要求を単一の接続で送信できます。この機能は,トランザクション管理に役立ちます。アプライアンスでクライアントキープアライブモードが有効で、クライアント要求に対するサーバ応答に Connection が含まれている場合:HTTP ヘッダーを閉じて、次のタスクを実行します。

  • ヘッダー名の文字をシャッフルして、既存の Connection ヘッダー名の名前を変更します。

  • Keep-Alive をヘッダーの値として新しい Connection: ヘッダーを追加します。

クライアントキープアライブモードを使用すると、Citrix ADCアプライアンスは同じソケット接続を使用して複数の要求と応答を処理できます。この機能は、サーバーがアプライアンスとの接続を閉じた後でも、クライアントとアプライアンスの間の接続(クライアント側接続)を開いたままにします。これにより、単一の接続を使用して複数のクライアント要求が可能になり、接続の開閉に関連するラウンドトリップが節約されます。クライアントキープアライブは SSL セッションで最も有益です。

クライアントキープアライブは、次のシナリオで役立ちます。

  • サーバーがクライアントのキープアライブをサポートしていない場合。
  • サーバーはサポートしているが、サーバー上のアプリケーションがクライアントのキープアライブをサポートしていない場合。

注:クライアントキープアライブは HTTP および SSL トラフィックに適用されます。Client-Keep Alive は、すべてのトラフィックを処理するようにグローバルに設定できます。また、特定のサービスで有効にすることもできます。

クライアントキープアライブ環境では、設定されたサービスがクライアントトラフィックをインターセプトし、クライアント要求はオリジンサーバーに送信されます。サーバーは応答を送信し、サーバーとアプライアンス間の接続を閉じます。サーバーの応答に「Connection: Close」ヘッダーが存在する場合、アプライアンスはクライアント側の応答でこのヘッダーを壊し、クライアント側の接続は開いたままになります。その結果、クライアントは次のリクエストで新しい接続を開く必要がなくなります。代わりに、サーバーへの接続が再開されます。

注:サーバーが「Connection: Close」ヘッダーを 2 つ送り返しても、編集されるのは 1 つだけです。その結果、クライアントは接続が閉じられるまでオブジェクトが完全に配信されたとは想定しないため、クライアントによるオブジェクトのレンダリングが大幅に遅れます。

クライアントキープアライブの設定

NetScalerでは、クライアントキープアライブはデフォルトでグローバルレベルでもサービスレベルでも無効になっています。そのため、必要な範囲で機能を有効にする必要があります。

注:クライアントのキープアライブをグローバルに有効にすると、サービスレベルで有効にするかどうかに関係なく、すべてのサービスで有効になります。また、一部の HTTP パラメータを設定して以下を指定する必要があります。

  • 接続再利用プールに保持される HTTP 接続の最大数。

  • 接続の多重化を有効にし、永続性を有効にします。Etag

注:PersistentETagが有効な場合、ETagヘッダーにはコンテンツを提供したサーバーに関する情報が含まれます。これにより、そのコンテンツに対するキャッシュ検証条件付きリクエストまたはブラウザリクエストが常に同じサーバーに到達することが保証されます。

NetScalerコマンドインターフェイスを使用してクライアントキープアライブを設定する

コマンドプロンプトで、次の操作を行います。

  1. NetScalerでクライアントキープアライブを有効にします。

    • 世界レベルでは-enable ns mode cka
    • サービスレベルでは-set service -CKA YES

    注:

    クライアントキープアライブは、HTTP および SSL サービスでのみ有効にできます。

  2. 1 つ以上のサービスにバインドされている HTTP プロファイルに HTTP パラメータを設定します。

    set ns httpProfile  -maxReusePool  -conMultiplex ENABLED -persistentETag ENABLED 

注:

nshttp_default _profile HTTPこれらのパラメータをプロファイルに設定して、グローバルに使用できるようにします。

NetScalerGUIを使用してクライアントキープアライブを構成する

  1. NetScalerでクライアントキープアライブを有効にします。

    • グローバルレベルで

      [システム] > [設定] に移動し、[モードの設定] をクリックして [クライアント側キープアライブ] を選択します。

      クライアントキープアライブの設定

    • サービスレベルで

      [トラフィック管理] > [負荷分散] > [サービス] に移動し、必要なサービスを選択します。「設定」セクションで、「クライアントキープアライブ」チェックボックスを選択します。

      クライアントキープアライブの設定

  2. 1 つ以上のサービスにバインドされている HTTP プロファイルで必要な HTTP パラメータを設定します。

  3. [システム] > [プロファイル] に移動し、[HTTP プロファイル] タブで必要なプロファイルを選択し、必要な HTTP パラメータを更新します。

クライアントキープアライブ