Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 启动并连接到数据库 » 客户端/服务器通信

 

调整通信压缩设置以改善性能

在某些情况下,设置数据包的最小压缩大小并为一个或所有连接启用压缩可以提高 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 服务器选项

♦  调整 SQL Anywhere 压缩设置
  1. 启用通信压缩。

    使用高度可压缩的数据并使用较大的数据包大小的大数据传送,往往会获得最佳的压缩率。

    有关启用压缩的详细信息,请参见Compress 连接参数 [COMP]-pc 服务器选项

  2. 调整 CompressionThreshold 设置。

    在速度很慢的网络上降低压缩阈值可能会改善性能,而提高压缩阈值可能会通过减少 CPU 占用来改善性能。

    有关调整 CompressionThreshold (COMPTH) 连接参数的详细信息,请参见CompressionThreshold 连接参数 [COMPTH]-pt 服务器选项