WEB开发网
开发学院软件开发Java IBM 的 Java 诊断,第 5 部分: 使用 Health Cente... 阅读

IBM 的 Java 诊断,第 5 部分: 使用 Health Center 优化应用程序

 2010-04-01 00:00:00 来源:WEB开发网   
核心提示: 查看原图(大图)在图 9 中,有两个锁值得深入研究,IBM 的 Java 诊断,第 5 部分: 使用 Health Center 优化应用程序(8),因为两个竖条都表明激烈的争用,它们是最高的两个竖条,可以用两种方法最小化争用:减少占用锁的时间,这将降低冲突发生的几率;提高使用的锁对象的数量,这

IBM 的 Java 诊断,第 5 部分: 使用 Health Center 优化应用程序

查看原图(大图)

在图 9 中,有两个锁值得深入研究,因为两个竖条都表明激烈的争用。它们是最高的两个竖条,这说明它们拥有最多的受阻请求;它们正在变为红色,这说明请求那些锁的受阻请求的总百分比很高。

锁性能改进策略

带有非常慢的计数的锁都可能影响性能。如何减小这些锁的性能影响?第一步是检查哪些代码正在使用问题锁。Health Center 显示锁的类别,在某些情况下,这足以识别锁,但在另一些情况下则无法识别。例如,如果锁对象的类别是 Object,搜索代码以引用它可能不太容易。图 10 展示 Health Center 对锁行为的分析,涉及 DataStore 类别和 Object 类别的各种锁。如果 Health Center 将锁定标识为一个性能问题,但从 Health Center 分析中又不能确定具体是由哪个锁引起问题,那么您可以重构代码以在锁对象中使用更明确的类名称,或者使用一系列 javacore 来捕获调用最常用锁的调用堆栈。

图 10. 锁定表

IBM 的 Java 诊断,第 5 部分: 使用 Health Center 优化应用程序

查看原图(大图)

确定问题锁后,您应该重写应用程序来减少该锁的争用。可以用两种方法最小化争用:减少占用锁的时间,这将降低冲突发生的几率;提高使用的锁对象的数量,这样每个锁对象将用于更少的上下文中。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:IBM Java 诊断

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接