通过压缩加速负载平衡流量

压缩是优化带宽使用率的常用方法,大多数 Web 浏览器均支持压缩数据。如果启用压缩功能,Citrix ADC 设备会拦截来自客户端的请求,并确定客户端是否可以接受压缩内容。收到服务器发出的 HTTP 响应之后,设备将检查响应内容,以确定是否可对其进行压缩。如果内容是可压缩的,设备将对其进行压缩,修改响应标头以指明执行的压缩类型,并将压缩的内容转发到客户端。

Citrix ADC 压缩是一项基于策略的功能。策略可过滤请求和响应以确定要压缩的响应,并指定要应用于每个响应的压缩类型。设备提供了多种内置策略来压缩常见的 MIME 类型,例如 text/html、text/plain、text/xml、text/css、text/rtf、application/msword、application/vnd.ms-excel 和 application/vnd.ms-powerpoint。您也可以创建自定义策略。设备不会压缩已压缩的 MIME 类型,例如 application/octet-stream、二进制数据、字节数据以及压缩图像格式(例如 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. 在导航窗格中,展开“System”(系统),然后单击“Settings”(设置)。
  2. 在详细信息窗格的“模式和功能”下,单击“更改基本功能”。
  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. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Services(服务)。
  2. 在详细信息窗格中,选择要为其配置压缩的服务(例如 service-HTTP-1),然后单击 Open(打开)。
  3. 在 Advanced(高级)选项卡上,选中 Settings(设置)下的 Compression(压缩)复选框,然后单击 OK(确定)。
  4. 确认选择该服务时,HTTP 压缩 (CMP): 开显示在窗格底部的“详细信息”部分中。

将压缩策略绑定到虚拟服务器

如果将策略绑定到虚拟服务器,该策略仅可由与该虚拟服务器相关联的服务进行评估。您可以通过“配置虚拟服务器(负载平衡)”对话框或“压缩策略管理器”对话框将压缩策略绑定到虚拟服务器。本主题包括使用“配置虚拟服务器(负载平衡)”对话框将压缩策略绑定到负载平衡虚拟服务器的说明。

使用命令行将压缩策略绑定到虚拟服务器,或取消压缩策略与虚拟服务器的绑定

在命令提示窗口中,键入以下命令,将压缩策略绑定到负载平衡虚拟服务器,或取消压缩策略与负载平衡虚拟服务器的绑定,并验证配置:

  • (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. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Virtual Servers(虚拟服务器)。
  2. 在详细信息窗格中,选择要将压缩策略绑定到或从其取消绑定的虚拟服务器,(例如 Vserver-LB-1),然后单击 Open(打开)。
  3. 在 Configure Virtual Server (Load Balancing)(配置虚拟服务器(负载平衡))对话框中,单击 Policies(策略)选项卡上的 Compression(压缩)。
  4. 执行以下操作之一:
    • 要绑定压缩策略,请单击 Insert Policy(插入策略),然后选择要绑定到虚拟服务器的策略。
    • 要取消绑定压缩策略,请单击要从虚拟服务器取消绑定的策略的名称,然后单击 Unbind Policy(取消绑定策略)。
  5. 单击确定。