Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101947993
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-13 00:37:36

     来源:51cto 

检查对表进行重构的需要

DB2 PE 步骤

在 System Overview 面板中选择 Statistic Details。

图 5. System Overview

在 Statistic Details 视图中选择 Tables,并选中 Receive table information。

图 6. Statistic Details

方法 Statistic Details 中的 Table 视图给出了有关表的详细信息,其中包括表名、数据库名、写入的行数、读取的行数、溢出的行数、表的文件 id、表的类型、页面重构等。

访问溢出的行

这个数字说明了对该表中溢出行进行存取(读和写)的数目。

溢出行说明了数据中的碎片情况。如果这个数字很高,那么您可以通过使用 REORG 工具对表进行重构,从而提高表的性能,这会清理数据中的碎片。当一行数据被更新并且不再适合原来写入的数据页时,就会出现行溢出的情况。这通常是对 VARCHAR 列进行更新的结果,或者是执行 ALTER TABLE 语句的结果。

页面重构:

这个数字说明了需要对一个表进行重构的页数。

对太多页进行重构可能会导致性能比优化插入方式的性能还要低。您可以使用 REORG TABLE 工具对表进行重构,从而消除数据碎片。您还可以使用 ALTER TABLE 语句的 APPEND 参数来说明插入某个表的所有数据都要附加到该表的末尾,以避免页面重构问题。在对行进行更新导致该行的长度增加的情况下,虽然页面可能有足够的空间来容纳新行,但是为了整理这段空间的碎片,可能需要对页面进行重构。或者,如果页面中没有足够的空间来容纳更大的行,就会创建一条溢出记录。您可以使用固定长度而不是可变长度的列来避免这两种情况。

结论

对太多页进行重构可能会导致性能比优化插入方式的性能还要低。如果您有大量的页面需要重构,可以使用 REORG TABLE 工具对表进行重构,并消除数据碎片。

调优 DB2 代理的个数

现在,您的目标是确保有足够多的 DB2 代理来处理工作负载。

DB2 PE 步骤

在 System Overview 面板中选择 Statistic Details。

在 Statistic Details 视图中选择 Instance Information,如 图 7 所示。

图 7. Statistic Details

方法

Statistic Details 中的 Instance Information 视图给出了有关当前实例的详细信息,其中包括实例名、当前的连接数、已注册的代理数、已注册最大代理数、等待令牌的代理数、从缓冲池中分配的代理数、已窃取的代理数等。

已注册的代理

该值说明了在正被监视的数据库管理实例中注册的代理(协调代理和子代理)个数。您可以使用这个元素来帮助评价最大代理配置参数的设置。

已注册的最大代理

该值是从数据库启动以来,曾经同时在数据库管理程序中注册的代理(协调代理和子代理)的最大个数。您可以使用这个元素来帮助评价最大代理配置参数的设置。

等待令牌的代理

该值是等待令牌以便在数据库管理程序中执行事务的代理的个数。您可以使用这个元素来帮助评价最大代理配置参数的设置。

已窃取的代理:

该值是从应用程序中窃取的代理的次数。当一个与应用程序关联的空闲代理被重新分配给一个普通的应用程序执行任务时,就会出现代理窃取。可以用该元素来评价应用程序对系统的负载情况。

结论

如果您发现有"等待令牌的代理" 或 "已窃取的代理",就增大数据库管理程序中可用代理的个数(MAXAGENTS 和/或 MAX_COORDAGENTS)。

阅读(384) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~