LoveUnix » DB2 & Informix » DB2 V9.1新增内容:自适应的自调整内存分配
让LU留住您的每

一天 让LU博客留住您的每一天
2007-4-9 16:22 darkbug
DB2 V9.1新增内容:自适应的自调整内存分配

自适应的自调整内存功能通过自动设置内存配置参数值以及调整缓冲池大小来简化内存配置任务。启用此功能后,内存调整器就会在几个内存使用者(包括排序、程序包高速缓存、锁定列表和缓冲池)之间动态地分配可用内存资源。

在 Windows和 AIX平台上,自调整内存功能还可确定数据库内存的总需求,并会动态地对数据库共享内存的总体使用情况进行调整。这使数据库管理器可以根据工作负载的需要消耗更多物理内存,而在数据库内存需求降低时将这些内存释放到操作系统中。

使用 database_memory 配置参数来设置对每个数据库将使用的内存量的限制。

除了简化内存配置任务之外,此新增的自适应的自调整内存功能通过提供更高的配置来提高性能,该配置可以动态响应工作负载特征中出现的重要变化。

缺省情况下,已对单一分区数据库启用自调整内存功能,并对多分区数据库禁用此功能。

[b]自调整内存[/b]

从 IBM DB2 版本 9 开始,新的内存调整功能自动设置若干内存配置参数值,从而简化了内存配置任务。启用此功能后,内存调整器就会在几个内存使用者(包括排序、程序包高速缓存、锁定列表和缓冲池)之间动态地分配可用内存资源。

内存调整器对工作负载特征的显著更改作出响应,从而调整内存配置参数值和缓冲池大小以优化性能。

调整器在 database_memory 配置参数定义的内存限制范围内工作。在 Windows和 AIX上,database_memory 值本身可以自动调整。database_memory 启用自调整(设置为 AUTOMATIC)后,调整器确定数据库的整体内存需求并根据当前数据库需求增大或减小分配给数据库共享内存的内存量。例如,如果当前数据库需求很高,并且系统上有足够的可用内存,则数据库共享内存将消耗较多的内存。当数据库内存需求下降时,或者当系统上的可用内存量降至过低水平时,就会释放一些数据库共享内存。

database_memory 参数未启用自调整(未设置为 AUTOMATIC)时,整个数据库都将使用指定的内存量,从而根据需要在数据库内存使用者之间分配内存。database_memory 未启用自调整时,可以通过两种方法指定数据库使用的内存量:将 database_memory 设置为数值或者将其设置为 COMPUTED。在第二种情况下,总内存量是根据数据库启动时的数据库内存堆初始值总计而计算的。

可以对下列内存使用者启用自调整:
[list][*]缓冲池(由 ALTER BUFFERPOOL 和 CREATE BUFFERPOOL 语句控制)[*]程序包高速缓存(由 pckcachesz 配置参数控制)[*]锁定内存(由 locklist 和 maxlocks 配置参数控制)[*]排序内存(由 sheapthres_shr 和 sortheap 配置参数控制)[*]数据库共享内存(由 database_memory 配置参数控制)[/list]可自动调整的配置参数
[list][*]sortheap - 排序堆大小配置参数[*]sheapthres_shr - 共享排序的排序堆阈值配置参数[*]database_memory - 数据库共享内存大小配置参数[*]pckcachesz - 程序包高速缓存大小配置参数[*]locklist - 锁定列表的最大存储器配置参数[*]maxlocks - 升级前锁定列表的最大百分比配置参数[/list]

2007-4-10 10:46 beginner-bj
看来DB2的管理越来越简单了。

2007-4-10 22:51 darkbug
动态调整可以最大限度的利用硬件能力,这个功能对资源利用来说是个好事情。

优化的时候工作量也小了,慢慢的都是自优化了,管理员只要回答yes or no,多好,呵呵

就像自动档的汽车越来越多,虽然不能怀疑手动的乐趣和灵活性,但是对多数不想研究换挡动作和最佳换挡时机等等驾驶技巧的人来说,自动变速器太方便了

2007-4-11 15:02 seven
听说这个STMM是SAP要求的的新功能,hadr环境里standby节点不支持STMM的。


v9 Bootcamp关于STMM这一部分的介绍

2007-4-12 17:07 darkbug
内容真多。。。。

2007-4-13 13:57 wolfop
总觉得RDBMS优化关键还是不在这个,而是对那些写得烂的SQL的捕捉。
这点ORACLE 10G的确方便。DB2就稍微麻烦一点点了,而INFORMIX IDS简直没有这个功能。

2007-4-13 15:21 beginner-bj
SQL本身倒不能说是烂还是不烂,很多时候还是要看索引建得是否合理。

2007-4-13 17:00 darkbug
[quote]原帖由 [i]wolfop[/i] 于 2007-4-13 13:57 发表 [url=http://bbs.loveunix.net/redirect.php?goto=findpost&pid=652459&ptid=71279][img]http://bbs.loveunix.net/images/common/back.gif[/img][/url]
总觉得RDBMS优化关键还是不在这个,而是对那些写得烂的SQL的捕捉。
这点ORACLE 10G的确方便。DB2就稍微麻烦一点点了,而INFORMIX IDS简直没有这个功能。 [/quote]

层面不一样呀:)

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.