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

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 性能提高、诊断和监控 » 关于提高性能的提示 » 提示:使用高速缓存提高性能

 

限制高速缓存内存使用

高速缓存的初始、最小和最大大小都可以通过数据库服务器命令行进行控制。

  • 初始高速缓存大小   您可以使用 -c 数据库服务器选项指定用于数据库服务器的初始高速缓存大小。如果没有指定 -c 选项,数据库服务器将计算初始高速缓存分配。

  • 最大高速缓存大小   您可以通过指定数据库服务器 -ch 选项控制最大高速缓存大小。其缺省值基于由计算机上的物理内存决定的启发式算法。在 Windows Mobile 上,缺省的最大高速缓存大小是可用的程序内存量减去 4 MB。在其它非 Unix 计算机上,缺省值大概是最大高速缓存大小和计算机物理内存的 90% 二者中的较低者。在 Unix 中,缺省的最大高速缓存大小的计算方法如下:

    • 在 32 位 Unix 平台上,它是总物理内存的 90% 或 1,834,880 KB 的较小者。

    • 在 64 位 Unix 平台上,它是总物理内存的 90% 和 8,589,672,320 KB 的较小者。

  • 最小高速缓存大小   您可以通过指定数据库服务器 -cl 服务器选项来控制最小高速缓存大小。缺省情况下,最小高速缓存大小与初始高速缓存大小相同(Windows Mobile 除外)。Windows Mobile 上的缺省最小高速缓存大小为 600 KB。

    如果指定了 -c 选项而未指定 -cl,则最小高速缓存大小将设置为由 -c 服务器选项指定的初始高速缓存大小。

    如果未设置 -c 或 -cl 服务器选项,最小高速缓存大小将设置为一个非常低的硬编码常量值,以便高速缓存可根据需要进行压缩。在 Windows 中,该值为 2 MB,在 Unix 中,该值为 8 MB,而在 Windows Mobile 中,该值为 600 KB。

如果尝试将初始或最小高速缓存大小设置为小于最大高速缓存大小八分之一的值,初始和最小高速缓存大小会自动增加根据最大高速缓存大小计算得出的数量。

您也可以使用 -ca 0 服务器选项来禁用动态调整高速缓存大小的功能。

下面的数据库服务器属性可返回有关数据库服务器高速缓存的信息:

  • CurrentCacheSize   返回当前高速缓存大小(以千字节为单位)。

  • MinCacheSize   返回所允许的最小高速缓存大小(以千字节为单位)。

  • MaxCacheSize   返回所允许的最大高速缓存大小(以千字节为单位)。

  • PeakCacheSize   返回高速缓存在当前会话中已达到的最大值(以千字节为单位)。

 另请参见