ADC

Client Keep-Alive

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

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

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

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

Client Keep-Aliveは、次のシナリオで役立ちます。

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

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

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

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

Client Keep-Aliveの設定

NetScalerでは、Client Keep-Aliveはデフォルトでグローバルレベルでもサービスレベルでも無効になっています。そのため、必要な範囲で機能を有効にする必要があります。

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

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

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

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

NetScalerコマンドインターフェイスを使用してClient Keep-Aliveを設定する

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

  1. NetScalerでClient Keep-Aliveを有効にします。

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

    注:

    Client Keep-Aliveは、HTTP および SSL サービスでのみ有効にできます。

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

    set ns httpProfile <name> -maxReusePool <value> -conMultiplex ENABLED -persistentETag ENABLED
    <!--NeedCopy-->
    

注:

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

NetScaler GUIを使用してClient Keep-Aliveを構成する

  1. NetScalerでClient Keep-Aliveを有効にします。

    • グローバルレベルで

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

    • サービスレベルで

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

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

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

Client Keep-Alive

この記事の概要