使用 VPA 快速定位 Java 应用性能瓶颈
简介:大型 Java 应用调用了大量的类和方法,如何在这成千上万行的代码中找到应用的性能瓶颈呢 ?在本文中,作者将介绍如何为不同的性能问题选择性能分析工具,对性能问题采样以及使用 Visual Performance Analyzer 分析性能采样结果并快速定位性能瓶颈。
引言
类是 Java 的基础。大规模的 Java 应用是由成千上万个类构成的。当出现性能问题时,如何才能在 这一大堆类中迅速定位性能瓶颈呢?更糟糕的是,有些类是由某个同事在上个世纪编写的,某些类是第三 方提供的,没有人明白这些类给整个应用带来了怎样的性能影响。
关于 VPA
VPA(Visual Performance Analyzer)是基于 Eclipse 开发的可视化性能分析工具集。
VPA 为性能分析提供了六件武器:Profile Analyzer、Code Analyzer、 Pipeline Analyzer、 Counter Analyzer、 Trace Analyzer、 Call Tree Analyzer。每个工具可以用于分析一种特定类别的性 能数据。
如果您想进一步了解 VPA,您可以参考 VPA 用户指南。
VPA 中的两个工具:Profile Analyzer 和 CallTree Analyzer,对 Java 应用程序的性能分析提供了 有力的支持。这两个工具提供了多个视图,帮助用户从不同的角度分析性能数据。通过这两个工具帮助, 用户可以快速地从这成千上万行的代码中找到性能最差的方法或者代码行。
使用 VPA 分析性能问题的过程可以分为三步:
针对不同性能问题,选择恰当的性能分析工具;
采集性能数据;
使用 VPA 分析性能数据;
本文将以小程序 bookstore 为例,介绍如何使用这两个工具快速定位性能问题。