电脑技术学习

DB2 Performance Expert 简化性能管理和调优 (2)

dn001
  从连接以来等待的锁:
  这个数字是应用程序或连接已经等待锁的次数。
  在数据库级上,该值是应用程序在这个数据库上等待锁的次数。而在应用程序连接级上,该值是在某个连接请求一个锁但由于另外一个连接正持有该数据的锁而必须等待的次数。可以使用该元素计算在数据库级上等待一个锁的平均等待时间。这种计算可以在数据库级或应用程序连接级上进行。假如锁的平均等待时间很长,那么您应该查看一下持有很多锁的应用程序;或者假如是这种情况导致等待时间过长,就对该锁进行升级,从而重点对应用程序进行调优,以改进并发性。假如升级是导致锁平均等待时间很长的原因,那么可能是 locklist 或 maxlocks 这两个配置参数值中的一个太小了,也可能这两个参数值都太小了。
  锁升级  这个数字说明了某个锁作为锁升级的一部分被升级的次数。升级的范围可以从(一个表中的)许多行锁到单独某个表锁。
  可以使用这个元素更好地理解死锁的原因。假如您曾经碰到过有关应用程序执行锁升级而导致死锁的情况,那么就可能希望增加锁内存的数量(locklist)或修改一个应用程序可以请求某个锁的百分比(maxlocks)。
  检测到的死锁
  该值是已经出现死锁的总数。
  可以用该元素来判定应用程序正出现争用问题。这些问题可能是由于以下情形引起的:  数据库中正在进行锁升级。
  应用程序可能在系统生成足够多的行锁时显式地对表进行锁定。  应用程序可能在绑定时使用了不恰当的隔离级别。
  为了可以重复读而锁定目录表。
  应用程序正在对不同的订单使用相同的锁,从而导致死锁。
  您可以通过判定死锁是在哪个应用程序(或应用程序进程)上产生的来解决问题。然后可以修改应用程序,使其能够更好地并行执行。然而,有些应用程序可能不能并行运行。您可以使用连接的时间戳监视元素,判定死锁的严重性。例如,在 5 分钟之内出现 10 次死锁就比在 5 小时内出现 10 次死锁严重得多。对上面列出的这些相关元素的描述还提供了其他一些调优建议。