为了帮助 DB DBA 避免性能灾难并获得高性能我为我们的客户用户和 DB 专家同行总结了一套故障诊断流程以下详细说明在 UnixWindows 和 OS/ 环境下使用 DB UDB 的电子商务 OLTP 应用程序的 条最重要的性能改善技巧 并在本文的结束部分作出总结
一 监视开关
确保已经打开监视开关如果它们没有打开您将无法获取您需要的性能信息要打开该监视开关请发出以下命令
db update monitor switches using
lock ON sort ON bufferpool ON uow ON
table ON statement ON
二代理程序
确保有足够的 DB 代理程序来处理工作负载要找出代理程序的信息请发出命令
db get snapshot for database manager
并查找以下行
High water mark for agents registered =
High water mark for agents waiting for a token =
Agents registered=
Agents waiting for a token=
Idle agents=
Agents assigned from pool=
Agents created from empty Pool =
Agents stolen from another application=
High water mark for coordinating agents=
Max agents overflow=
如果您发现Agents waiting for a token或Agents stolen from another application不为 那么请增加对数据库管理器可用的代理程序数(MAXAGENTS 和/或 MAX_COORDAGENTS取适用者)
三最大打开的文件数
DB 在操作系统资源的约束下尽量做一个优秀公民它的一个优秀公民的行动就是给在任何时刻打开文件的最大数设置一个上限数据库配置参数 MAXFILOP约束 DB 能够同时打开的文件最大数量当打开的文件数达到此数量时DB 将开始不断地关闭和打开它的表空间文件(包括裸设备)不断地打开和关闭文件减缓了 SQL 响应时间并耗费了 CPU 周期要查明 DB 是否正在关闭文件请发出以下命令
[] [] [] [] [] [] [] [] []