Citrix ADC

圧縮を使用して負荷分散トラフィックを高速化

圧縮は、帯域幅の使用を最適化する一般的な手段であり、ほとんどのWebブラウザーで圧縮データがサポートされています。圧縮機能を有効にすると、Citrix ADCアプライアンスはクライアントからの要求を傍受し、クライアントが圧縮されたコンテンツを受け入れることができるかどうかを決定します。また、アプライアンスがサーバーからのHTTP応答を受信すると、そのコンテンツを調べて圧縮可能かどうかを決定します。コンテンツが圧縮可能な場合、アプライアンスはコンテンツを圧縮し、応答のヘッダーを変更して実行した圧縮の種類を示し、圧縮コンテンツをクライアントに転送します。

Citrix ADC 圧縮は、ポリシーベースの機能です。ポリシーは要求と応答をフィルタリングして圧縮される応答を特定し、各応答に適用する圧縮の種類を指定します。アプライアンスは、text/html、text/plain、text/xml、text/css、text/rtf、application/msword、application/vnd.ms-excel、application/vnd.ms-powerpointなどの一般的なMIMEタイプを圧縮する複数の組み込みポリシーを提供します。また、カスタムポリシーを作成することもできます。アプライアンスは、application/octet-stream、binary、bytesなどの圧縮済みのMIMEタイプや、GIF、JPEGなどの画像形式を圧縮しません。

圧縮を構成するには、グローバルな圧縮機能を有効にしてから、圧縮対象の応答を配信するサービスごとに圧縮を有効にする必要があります。負荷分散またはコンテンツスイッチ向けに仮想サーバーを構成済みの場合は、それらの仮想サーバーにポリシーをバインドする必要があります。それ以外の場合、アプライアンスを経由するすべてのトラフィックにポリシーが適用されます。

圧縮構成タスクシーケンス

次のフローチャートは、負荷分散セットアップで基本的な圧縮を構成するタスクの順序を示しています。

図1:圧縮を構成するタスクのシーケンス

画像

注:上の図の手順は、負荷分散がすでに構成されていることを前提としています。

圧縮を有効化

デフォルトでは、圧縮が無効になっています。クライアントに送信されるHTTP応答の圧縮を許可するには、圧縮機能を有効にする必要があります。

CLI を使用して圧縮を有効にするには

コマンドプロンプトで次のコマンドを入力し、圧縮を有効化して構成を確認します。

  • enable ns feature CMP
  • show ns feature
    > enable ns feature CMP




    Done


    > show ns feature





           Feature                        Acronym              Status


           -------                        -------              ------


    1)     Web Logging                    WL                   ON


    2)     Surge Protection               SP                   OFF


    .


    7) Compression Control CMP ON


    8)     Priority Queuing               PQ                   OFF


    .


    Done

GUI を使用して圧縮を有効にするには

  1. ナビゲーションウィンドウで、[ システム] を展開し、[ 設定] をクリックします。
  2. 詳細ペインの[Modes and Features]で、[Change basic features]をクリックします。
  3. [Configure Basic Features]ダイアログボックスで、[Compression]チェックボックスをオンにしてから[OK]をクリックします。
  4. [Enable/Disable Feature(s)?]ダイアログボックスで、[Yes]をクリックします。

データを圧縮するためのサービスの構成

グローバルな圧縮設定を有効にしたら、圧縮対象のファイルを配信するサービスごとに圧縮を有効にする必要があります。

CLI を使用してサービスで圧縮を有効にするには

コマンドプロンプトで次のコマンドを入力し、特定のサービスの圧縮を有効化して構成を確認します。

  • set service <name> -CMP YES
  • show service <name>

> show service SVC_HTTP1


SVC_HTTP1 (10.102.29.18:80) - HTTP


State: UP


Last state change was at Tue Jun 16 06:19:14 2009 (+737 ms)


Time since last state change: 0 days, 03:03:37.200


Server Name: 10.102.29.18


Server ID : 0   Monitor Threshold : 0


Max Conn: 0     Max Req: 0      Max Bandwidth: 0 kbits


Use Source IP: NO


Client Keepalive(CKA): NO


Access Down Service: NO


TCP Buffering(TCPB): NO


HTTP Compression(CMP): YES


Idle timeout: Client: 180 sec   Server: 360 sec


Client IP: DISABLED


Cacheable: NO


SC: OFF


SP: OFF


Down state flush: ENABLED

1)      Monitor Name: tcp-default


State: DOWN     Weight: 1


Probes: 1095    Failed [Total: 1095 Current: 1095]


Last response: Failure - TCP syn sent, reset received.


Response Time: N/A


Done

GUI を使用してサービスで圧縮を有効にするには

  1. [ トラフィック管理 ] > [ ロードバランシング ] > [ サービス] に移動します。
  2. 詳細ペインで、圧縮を設定するサービス(たとえば、service-HTTP-1)を選択し、[Open]をクリックします。
  3. [Advanced]タブの[Settings]で、[Compression]チェックボックスをオンにして[OK]をクリックします。
  4. サービスが選択されているときに、ペインの下部にある [詳細] セクションに [HTTP 圧縮 (CMP): ON] と表示されていることを確認します。

圧縮ポリシーを仮想サーバーにバインドする

仮想サーバーに圧縮ポリシーをバインドすると、ポリシーは、その仮想サーバーに関連付けられたサービスによってのみ評価されます。仮想サーバーへの圧縮ポリシーのバインドは、[Configure Virtual Server (Load Balancing)]ダイアログボックスまたは[Compression Policy Manager]ダイアログボックスを使用して行います。このトピックでは、[仮想サーバーの構成 (負荷分散)] ダイアログボックスを使用して、負荷分散仮想サーバーに圧縮ポリシーをバインドする手順について説明します。

コマンドラインを使用して仮想サーバーへの圧縮ポリシーをバインドまたはバインド解除するには

コマンドプロンプトで次のコマンドを入力し、負荷分散仮想サーバーへの圧縮ポリシーをバインドまたはバインド解除して構成を確認します。

  • (bind|unbind) lb vserver <name> -policyName <string>
  • show lb vserver <name>

:


> bind lb vserver lbvip -policyName ns_cmp_msapp
Done
> showlbvserverlbvip

lbvip(8.7.6.6:80)-HTTPType:ADDRESS
State:UP
LaststatechangewasatThuMay2805:37:212009(+685ms)
Timesincelaststatechange:19days,04:26:50.470
EffectiveState:UP
ClientIdleTimeout:180sec
Downstateflush:ENABLED
DisablePrimaryVserverOnDown:DISABLED
PortRewrite:DISABLED
No.ofBoundServices:1(Total)1(Active)
ConfiguredMethod:LEASTCONNECTION
CurrentMethod:RoundRobin,Reason:Boundservice'sstatechangedtoUP
Mode:IP
Persistence:NONE
VserverIPandPortinsertion:OFF
Push:DISABLEDPushVServer:
PushMultiClients:NO
PushLabelRule:

BoundServiceGroups:
1)GroupName:Service-Group-1

1)Service-Group-1(10.102.29.252:80)-HTTPState:UPWeight:1

1)Policy:ns_cmp_msappPriority:0

Done

GUI を使用して圧縮ポリシーを負荷分散仮想サーバーにバインドまたはバインド解除するには

  1. [トラフィック管理] > [負荷分散] > [仮想サーバー] に移動します。
  2. 詳細ペインで、圧縮ポリシーのバインドまたはバインド解除を行う仮想サーバー(たとえば、Vserver-LB-1)を選択し、[Open]をクリックします。
  3. [Configure Virtual Server (Load Balancing)]ダイアログボックスで、[Policies]タブの[Compression]をクリックします。
  4. 次のいずれかを行います:
    • 圧縮ポリシーをバインドする場合は、[Insert Policy]をクリックしてから仮想サーバーにバインドするポリシーを選択します。
    • 圧縮ポリシーをバインド解除する場合は、仮想サーバーからバインド解除するポリシーの名前を選択し、[Unbind Policy]をクリックします。
  5. [ OK] をクリックします。

圧縮を使用して負荷分散トラフィックを高速化