在某些情况下,设置数据包的最小压缩大小并为一个或所有连接启用压缩可以提高 SQL Anywhere 的性能。
要确定在特定情况下启用压缩是否有帮助,建议先使用特定应用程序对特定网络进行性能分析,然后再于生产环境中使用通信压缩。性能结果将视所使用的网络类型、应用程序及所传输的数据而异。
最基本的压缩调整方法很简单,即在连接或服务器级别上启用或禁用 Compression (COMP) 连接参数。通过调整 CompressionThreshold (COMPTH) 连接参数,可以对压缩性能进行更高级的微调。
启用压缩会增加数据包中存储的信息量,从而减少了传输一组特定数据所需发送的数据包数量。通过减少数据包的数量,可以更快地传输数据。
有关性能分析的详细信息,请参见性能监控器统计和sa_conn_compression_info 系统过程。
在某些情况下,为一个连接(或所有连接)启用压缩可以显著提高 SQL Anywhere 的性能,这些情况包括:
在某些无线网络、某些调制解调器、串行链接及某些 WAN 等慢速网络上使用时。
在具有内置压缩功能的慢速网络上与 SQL Anywhere 加密联合使用时,因为数据包在加密之前会先经过压缩。
不过,启用压缩有时也会导致性能下降。例如:
通信压缩会占用更多的内存和 CPU 资源。它可能会导致性能下降,对 LAN 和其它快速网络而言尤其如此。
大多数调制解调器和某些慢速网络都已具有内置压缩功能。在上述情况下,除非同时对数据进行加密,否则 SQL Anywhere 通信压缩可能不会给性能带来更大益处。
有关压缩的详细信息,请参见Compress 连接参数 [COMP]和-pc 服务器选项。
也可以调整压缩阈值来提高 SQL Anywhere 的性能。对于大多数网络,不需要更改压缩阈值。
如果启用了压缩,则可能会压缩也可能不会压缩单个数据包,具体情况视其大小而定。例如,即使启用了通信压缩,SQL Anywhere 也不压缩小于压缩阈值的数据包。此外,小数据包(约小于 100 字节)通常根本不压缩。由于压缩数据包时需要 CPU 时间,因此尝试压缩小数据包实际上可能会降低性能。
一般来说,降低压缩阈值可能会使非常慢的网络的性能有所改善,而提高压缩阈值可能会通过减少 CPU 使用率来改善性能。但是,由于降低压缩阈值在客户端和服务器上均会增加 CPU 使用率,因此应进行性能分析以确定更改压缩阈值是否有好处。
请参见CompressionThreshold 连接参数 [COMPTH]和-pt 服务器选项。
启用通信压缩。
使用高度可压缩的数据并使用较大的数据包大小的大数据传送,往往会获得最佳的压缩率。
有关启用压缩的详细信息,请参见Compress 连接参数 [COMP]和-pc 服务器选项。
调整 CompressionThreshold 设置。
在速度很慢的网络上降低压缩阈值可能会改善性能,而提高压缩阈值可能会通过减少 CPU 占用来改善性能。
有关调整 CompressionThreshold (COMPTH) 连接参数的详细信息,请参见CompressionThreshold 连接参数 [COMPTH]和-pt 服务器选项。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |