使用压缩加速负载平衡通信
压缩是优化带宽使用率的常用方法,大多数 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
<!--NeedCopy-->
使用 GUI 启用压缩
- 在导航窗格中,展开 System(系统),然后单击 Settings(设置)。
- 在详细信息窗格中,单击 Modes and Features(模式与功能)下的 Change basic features(更改基本功能)。
- 在“Configure Basic Features”(配置基本功能)对话框中,选择“Compression”(压缩)复选框,然后单击“OK”(确定)。
- 在 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
<!--NeedCopy-->
使用 GUI 对服务启用压缩
- 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Services(服务)。
- 在详细信息窗格中,选择要为其配置压缩的服务(例如 service-HTTP-1),然后单击 Open(打开)。
- 在“Advanced”(高级)选项卡上,选中“Settings”(设置)下的“Compression”(压缩)复选框,然后单击“OK”(确定)。
- 确认当选中该服务时,“HTTP Compression(CMP): ON”(HTTP 压缩(CMP): 开)是否在窗格底部的 Details(详细信息)部分中显示。
将压缩策略绑定到虚拟服务器
如果将策略绑定到虚拟服务器,该策略仅可由与该虚拟服务器相关联的服务进行评估。可使用 Configure Virtual Server (Load Balancing)(配置虚拟服务器(负载平衡))对话框或从 Compression Policy Manager(压缩策略管理器)对话框,将压缩策略绑定到虚拟服务器。本主题包含使用 Configure Virtual Server (Load Balancing)(配置虚拟服务器(负载平衡))对话框将压缩策略绑定到负载平衡虚拟服务器的说明。有关如何使用“Compression Policy Manager”(压缩策略管理器)对话框将压缩策略绑定到负载平衡虚拟服务器的信息,请参阅 Configuring and Binding Policies with the PolicyManager(使用策略管理器配置和绑定策略)。
使用命令行将压缩策略绑定到虚拟服务器,或取消压缩策略与虚拟服务器的绑定
在命令提示窗口中,键入以下命令,将压缩策略绑定到负载平衡虚拟服务器,或取消压缩策略与负载平衡虚拟服务器的绑定,并验证配置:
- (bind\|unbind) lb vserver <name> -policyName <string>
- show lb vserver <name>
示例:
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(取消绑定策略)。
- 单击确定。