对于缺省页面大小缓冲池和任何非缺省页面大小缓冲池,BUFFERPOOL 配置参数都会为缓冲池中的缓冲区和 LRU 队列指定缺省值。在 BUFFERPOOL 配置参数字段中定义的信息影响内存利用率。
自动 LRU 调整更改将影响所有的缓冲池,并调整 BUFFERPOOL 配置参数的值 lru_min_dirty 和 lru_max_dirty。
onconfig 配置文件可包含一个或多个 BUFFERPOOL 行。例如,在页大小为 2K 的计算机上,onconfig 文件最多可包含 9 行(包括缺省规范)。
BUFFERPOOL 配置参数中的 buffers 字段指定数据库服务器可用的数据缓冲区的数目。这些缓冲区位于共享内存的常驻部分中,用于将数据库数据页面高速缓存在内存中。
当数据库服务器处于联机、静默或管理方式时,可使用 onparams 实用程序来添加不同大小的缓冲池。使用 onparams 实用程序时,您所指定的有关缓冲池的信息将自动传送到 onconfig 文件。
BUFFERPOOL 配置参数对数据库 I/O 和事务吞吐量具有很大的影响。可用的缓冲区越多,就越有可能出现以下情况:所需的数据页面可能已经作为上一个请求的结果位于内存中。但是,分配太多的缓冲区可能会影响内存管理系统并导致过度的操作系统调页活动。
bufferpoolsize = BUFFERS * page_size
缓冲区空间所需的物理内存百分比取决于系统上可用的内存大小,以及用于其他应用程序的内存大小。对于具有大量可用物理内存(4 GB 或更大)的系统,缓冲区空间可能为物理内存的 90%。对于具有较小可用物理内存的系统,缓冲区空间可能介于范围 20% 到 25% 的物理内存。
在 BUFFERPOOL 配置参数的 buffers 字段中指定缓冲区数目并在 size 字段中指定了缓冲池页大小后,计算所有其他共享内存参数。
例如:如果系统的页大小为 2 KB,物理内存为 100 MB,那么可以将 buffers 字段中的值设置为 10,000 到 12,500,这将分配 20 MB 到 25 MB 的内存。