BUFFERPOOL 配置参数

使用 BUFFERPOOL 配置参数来配置在共享内存中高速缓存的数据页数,在检查点之间以何 种频率将那些页清空到磁盘。对于许多系统而言,BUFFERPOOL 配置参数的缺省值足够。然 而,您可更改这些值来调整系统性能。

onconfig.std 值

2 KB 缺省页大小的操作系统:

BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.00, lru_max_dirty=60.50 BUFFERPOOL size=2k,buffers=50000,lrus=8,lru_min_dirty=50,  lru_max_dirty=60

4 KB 缺省页大小的操作系统:

BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.00, lru_max_dirty=60.50 BUFFERPOOL size=4k,buffers=10000,lrus=8,lru_min_dirty=50, lru_max_dirty=60

如果您在安装期间创建了服务器,则缺省值

BUFFERPOOL default,memory='auto'

BUFFERPOOL size=page_size,memory=memory_size page_size 值是缺省页大小。

缓冲池的最初大小是 32 MB。作为 auto 或 memory_size 值, 指定 memory 域的值作为大小的最大值,这依赖于 AUTO_TUNE_SERVER_SIZE 配置参数的 值。

请参阅“用法”部分。

分隔符

用逗号分隔域。

生效

编辑 onconfig 文件并重启数据库服务器之后。

当您通过运行 onparams -b 命令在 onconfig 文件中动态地添加一个条目时。

当您通过运行 onspaces -c -d 命令通过添加一个页大小不同的 dbspace 来动态地添加一 个条目时。

通过运行带有 add bufferpool 参数的 SQL 管理 API task() 或 admin() 函数,在 onconfig 文件中动态地添加一个条目之后。

用法

高速缓存数据页保存在缓冲区中。缓冲区包含在缓冲池中。用作存储空间的每个页大小需 要一个缓冲池。当数据库服务器需要将新数据页移入共享内存时,最近最少使用的数据页 移出内存。 BUFFERPOOL 配置参数控制缓冲池的大小和数据页清空到磁盘的频率。 如果您在安装期间创建了一个服务器,则在 onconfig.std 文件或 onconfig 文件中, BUFFERPOOL 配置参数有两个条目:

⚫ 第一个条目为一个非缺省页大小的 dbspace 指定缓冲池的缺省值。

⚫ 第二个条目根据系统的缺省页大小指定缓冲池的缺省值。 包括 size 域的 BUFFERPOOL 配置参数条目优先于包含 default 域的条目。

BUFFERPOOL 配置参数有两种格式:

⚫ 如果您想用类似 MB 或 GB 这样的内存单位指定缓冲池的大小,则使用带有 memory 域的 BUFFERPOOL 配置参数。

⚫ 如果你想以页单位指定缓冲池大小或保持先前版本的设置,则使用带有 buffers 域的 BUFFERPOOL 配置参数。

您可使用其中一种格式来在需要提高性能时使得数据库服务器能扩充缓冲池的大小。

限制: 您不可在 onconfig 文件中组合使用两种格式。onconfig 文件中的所有 BUFFERPOOL 配置参数条目都必须有相同的格式。否则数据库服务器不启动并显示下列错 误:

ERROR: Cannot mix buffer arguments with memory arguments. (BUFFERPOOL)

BUFFERPOOL 条目中的域不是大小写敏感的,且这些域会按任何顺序罗列。

默认情况下,GBase 8s 在安装时会自动根据当前内存大小设置 BUFFERPOOL 值。计算算法 如下:

⚫ 对于 2 KB 缺省页大小的操作系统: BUFFERPOOL = memorybase * 25000+10000 其中 memorybase =总内存大小/950000。如果计算结果 < 1,则 memorybase = 1 如果 BUFFERPOOL 值的计算结果大于 10000000 则,将其取值为 10000000。

⚫ 对于 16 KB 缺省页大小的操作系统: BUFFERPOOL = memorybase * 25000 如果 BUFFERPOOL 值的计算结果大于 3000000 则,将其取值为 3000000。

内存格式的缓冲池的大小

如果您使用内存格式,则缺省状态下,缓冲池大小根据需要增长。当平均高速缓存读命中 率低于阈值时,共享内存段添加到缓冲池。您可设置缓冲池的初始大小和大小的最大值, 或允许数据库服务器最优的大小。

如果 extendable 域设置为零,则缓冲池不增长。如果设置,则大小等于 start_memory 域 的值,否则,等于 memory 域的值。 当您重启服务器时,缓冲池的大小重置为 start_memory 域的值。

缓冲区格式的缓冲池大小

如果您使用 buffers 格式,则缺省情况下,缓冲池大小不增长。大小等于 buffers 域的 值。 

如果您设置 extendable 域为 1,则当平均高速缓存读命中率低于阈值时,共享内存段添 加到缓冲池。您必须在 buffers 域中设置缓冲区的初始数目。您可选择通过设置缓冲区的 数目来扩展缓冲池,以及缓冲池可扩展的最大次数,以及高速缓存命中率。每四次扩展, 添加到缓冲池的缓冲区数目翻倍。

示例:添加一个带 memory 域的 BUFFERPOOL 条目

下列条目创建一个有 10 KB 页大小的缓冲池:

BUFFERPOOL size=10k,start_memory=auto,memory=4gb

缓冲池可扩展到 4 GB。数据库服务器决定缓冲池的初始大小和扩展到缓冲池的大小。

示例:添加一个带有 buffers 域的 BUFFERPOOL 条目

下列条目创建一个有 2 KB 页大小的缓冲池:

BUFFERPOOL size=2k,extendable=1,buffers=1000,next_buffers=2000,max_extends=8

缓冲池可扩展八次。缓冲池启动时有 1000 个缓冲区。最初三个缓冲池扩展添加 2000 个 缓冲区。第四次到第七次扩展添加 4000 个缓冲区。第八次扩展添加 8000 个缓冲区。

示例:

通过添加一个带有不同页大小的 dbspace 来添加一个 BUFFERPOOL 条目

当您用 onspaces 实用程序添加一个带有不同页大小的 dbspace 时,或者当您用 onparams 实用程序添加一个缓冲池时,在 onconfig 文件中添加一个 BUFFERPOOL 配置参 数条目。下列示例显示一个第三条目:

BUFFERPOOL default,buffers=10000,lrus=8,lru_min_dirty=50.00,lru_max_dirty=60.50 BUFFERPOOL size=2k,buffers=10000,lrus=8,lru_min_dirty=50,lru_max_dirty=60

BUFFERPOOL size=6k

当您创建一个非缺省页大小的 dbspace 时,如果现有的 BUFFERPOOL 条目存在,则数据库 服务器使用那个条目的页大小。否则,数据库服务器使用来自 BUFFERPOOL 缺省行的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值