针对基础设计、性能和可管理性的 DB2 最佳实践
2008-09-17 16:31:13 来源:WEB开发网数据库配置
从 AUTOCONFIGURE 开始:配置数据库的一个好起点是使用 Configuration Advisor 或者 AUTOCONFIGURE 命令。决定配置参数时,必须了解如何使用数据库,以及与正在配置的数据库相关的应用程序有什么样的性能需求。
尽可能使用自动设置:许多配置参数都可以设置为自动。当设置为自动时,DB2 自动调整这些参数,以满足系统当前的资源需求。
根据需要调整重要参数:根据特定系统的需求,当决定调整初始数据库配置时,有一些重要因素需要考虑:
用 DB2 创建的默认数据库拥有一个 4K 页面大小的表空间。最低限度情况下,应该创建一个 32K 页面大小的缓冲池,一个 32K 页面大小的系统临时表空间,以及一个 32K 页面大小的用户表空间。这样可以确保能够在 32K 页面大小的表空间中创建任何行大小超过 4K 字节的用户表。
对于一般的产品系统来说,缓冲池的初始配置值简直太小了。为缓冲池分配更多的内存空间在大多数情况下都是有好处的,DB2 的默认值只能当作最小值。在 DB2 9 中,借助自调优内存管理器(self tuning memory manager,STMM)(将会在 运行时和可管理性技巧 小节中介绍),DB2 可以决定最佳的缓冲池值。
对于 DB2 Version 8,默认的锁列表大小(用于锁的内存堆)为 100 个 4K 的缓冲区。即使对于只涉及少量连接和数据的低级测试,这都会引起从行锁到表锁的锁升级问题,从而导致锁定问题。对于 DB2 Version 8,应将锁列表大小至少增大到 1000,可以通过 db2 update db cfg for DBNAME 命令,将参数设置为 1000 来实现。对于 DB2 9,可以使用 STMM 将锁列表参数值设置为 AUTOMATIC,这将会避免大多数锁内存问题。
要获得关于缓冲池和表空间大小的详细讨论,请参考 “DB2 Basics: Table Spaces and Buffer Pools”(developerWorks,2003 年 10 月)。
更多精彩
赞助商链接