DB2 Performance Expert 简化性能管理和调优 (2)
等待锁的代理:
该值说明了等待某个锁的代理个数。
这个元素是应用程序等待某些锁的百分比的一个指示器。假如这个数字很大,那么您的应用程序可能存在并行问题,您应该对现在持有锁或者长期持有互斥锁的应用程序进行分析。
结论: 检查 waiter 和 holder 应用程序的 SQL 语句,确定诸如应用程序中频繁进行提交操作而导致释放锁或检查应用程序使用的隔离级别之类的操作。当执行很多更新时,在更新之前,要在整个事务的持续时间内锁定整个表。虽然这样可以只使用一个锁,同时还可以防止其他锁妨碍更新操作,但是这样做会减少数据对于其他用户的并发能力。
经常使用 cache 包中的 SQL 语句进行检查
DB2 PE 步骤
在 System Overview 面板中选择 Statistic Details。
在 Statistic Details 视图中选择 Dynamic SQL Statements。
图 17. Dynamic SQL Statements 下拉滚动条,查看语句的具体资料。
图 18. 语句的具体资料
方法 Statistic Details 中的 Dynamic SQL Statements 视图给出了有关 SQL 语句的具体信息,其中包括访问的数据库、执行次数、已经过去的执行时间、最差和最佳的预备时间、排序,以及在选中 Receive statement cache information时每条语句占用的 CPU 时间等。
通过点击如 图 17所示的标题中的 Executions列,可以按照执行次数对 SQL 语句进行降序排列,这样就可以看到执行最频繁的 SQL 语句。