java调试性能问题 - 最佳实践

use*_*201 1 java debugging performance

只是想知道是否有一个步骤列表,我可以用它作为指导来调试性能问题,以确定最耗时的事情.从记录,计时方法,负载测试工具,计时数据库查询等开始,有无数的工具....

考虑到有很多不同的东西,列表顶部是否有一系列的东西.

如果是的话请让我

Bil*_*ell 5

  1. 检查机器是否有足够的RAM.分页会杀死应用程序.
  2. 检查应用程序在垃圾收集中花费的时间比例.高比例意味着您将从堆或GC调整中受益.
  3. 在分析器中运行应用程序并完成其步调,监控CPU使用情况.寻找CPU花费所有时间的那些方法.一个好的分析器可以让你花费在你无法控制的第三方代码上花费的时间,让你可以识别自己代码中的热点.
  4. 对于应用程序中的热门热点,请确定花费时间的地方.这都是I/O吗?计算?多线程同步?对象分配/解除分配?具有n平方或更差复杂度的差算法?别的什么?
  5. 一次处理一个热点,每次更改某些内容,测量并确定您是否真正改进了任何内容.如果更改有效,请回滚无效的更改并找出问题所在的位置.