圧縮による負荷分散トラフィックの速度向上
圧縮は、帯域幅の使用を最適化する一般的な手段であり、ほとんどの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
<!--NeedCopy-->
GUIを使用して圧縮を有効にするには
- ナビゲーションペインで、[System] を展開し、[Settings] をクリックします。
- 詳細ペインの[Modes and Features]で、[Change basic features]をクリックします。
- [Configure Basic Features]ダイアログボックスで、[Compression]チェックボックスをオンにしてから[OK]をクリックします。
- [Enable/Disable Feature(s)?]ダイアログボックスで、[Yes]をクリックします。
データを圧縮するサービスの設定
グローバルな圧縮設定を有効にしたら、圧縮対象のファイルを配信するサービスごとに圧縮を有効にする必要があります。
CLIを使用して特定のサービスの圧縮を有効にするには
コマンドプロンプトで次のコマンドを入力し、特定のサービスの圧縮を有効化して構成を確認します。
- set service \<名前\> -CMP YES
- show service \<名前\>
> 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
<!--NeedCopy-->
GUIを使用して特定のサービスの圧縮を有効にするには
- [Traffic Management] > [Load Balancing] > [Services] の順に移動します。
- 詳細ペインで圧縮を設定するサービス(たとえば、[service-HTTP-1])を選択し、[Open]をクリックします。
- [Advanced]タブの[Settings]で、[Compression]チェックボックスをオンにして[OK]をクリックします。
- サービスが選択されている場合はペインの下部にある [Details] に[HTTP Compression(CMP): ON]が表示されていることを確認します。
仮想サーバーへの圧縮ポリシーのバインド
仮想サーバーに圧縮ポリシーをバインドすると、ポリシーは、その仮想サーバーに関連付けられたサービスによってのみ評価されます。仮想サーバーへの圧縮ポリシーのバインドは、[Configure Virtual Server (Load Balancing)]ダイアログボックスまたは[Compression Policy Manager]ダイアログボックスを使用して行います。このトピックには、[Configure Virtual Server(Load Balancing)]ダイアログボックスを使用して、圧縮ポリシーを負荷分散仮想サーバーにバインドする手順が含まれています。[Compression Policy Manager]ダイアログボックスを使用して負荷分散仮想サーバーに圧縮ポリシーをバインドする方法については、「ポリシーマネージャーによるポリシーの構成およびバインド」を参照してください。
コマンドラインを使用して仮想サーバーへの圧縮ポリシーをバインドまたはバインド解除するには
コマンドプロンプトで次のコマンドを入力し、負荷分散仮想サーバーへの圧縮ポリシーをバインドまたはバインド解除して構成を確認します。
- (bind\|unbind) lb vserver \<名前\> -policyName \<文字列\>
- show lb vserver \<名前\>
例:
bind lb vserver lbvip -policyName ns_cmp_msapp
Done
> show lb vserver lbvip
lbvip (8.7.6.6:80) - HTTP Type: ADDRESS
State: UP
Last state change was at Thu May 28 05:37:21 2009 (+685 ms)
Time since last state change: 19 days, 04:26:50.470
Effective State: UP
Client Idle Timeout: 180 sec
Down state flush: ENABLED
Disable Primary Vserver On Down : DISABLED
Port Rewrite : DISABLED
No. of Bound Services : 1 (Total) 1 (Active)
Configured Method: LEASTCONNECTION
Current Method: Round Robin, Reason: Bound service's state changed to UP
Mode: IP
Persistence: NONE
Vserver IP and Port insertion: OFF
Push: DISABLED Push VServer:
Push Multi Clients: NO
Push Label Rule:
Bound Service Groups:
1) Group Name: Service-Group-1
1) Service-Group-1 (10.102.29.252: 80) - HTTP State: UP Weight: 1
1) Policy : ns_cmp_msapp Priority:0
Done
<!--NeedCopy-->
GUIを使用して負荷分散仮想サーバーへの圧縮ポリシーをバインドまたはバインド解除するには
- [Traffic Management]>[Load Balancing]>[Virtual Servers]の順に選択します。
- 詳細ペインで、圧縮ポリシーのバインドまたはバインド解除を行う仮想サーバー(たとえば、[Vserver-LB-1])を選択し、[Open]をクリックします。
- [Configure Virtual Server (Load Balancing)]ダイアログボックスで、[Policies]タブの[Compression]をクリックします。
- 次のいずれかを行います:
- 圧縮ポリシーをバインドする場合は、[Insert Policy]をクリックしてから仮想サーバーにバインドするポリシーを選択します。
- 圧縮ポリシーをバインド解除する場合は、仮想サーバーからバインド解除するポリシーの名前を選択し、[Unbind Policy]をクリックします。
- [OK] をクリックします。