加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Java 性能瓶颈分析工具

发布时间:2021-05-02 12:54:23 所属栏目:外闻 来源:互联网
导读:能优化分为很多个方面,如系统优化、算法优化、代码优化等。代码优化是指开发人员在研发、测试过程中使用性能瓶颈分析工具快速定位出由于编码存在的性能瓶颈问题并持续进行优化。一种很常见的场景是测试同学在对服务进行压测时,无论怎么增加并发应用的 TPS

能优化分为很多个方面,如系统优化、算法优化、代码优化等。代码优化是指开发人员在研发、测试过程中使用性能瓶颈分析工具快速定位出由于编码存在的性能瓶颈问题并持续进行优化。一种很常见的场景是测试同学在对服务进行压测时,无论怎么增加并发应用的 TPS 一直保持在某个值进行左右波动,这个时候要怎么排查呢。为了可以准确获得运行过程中程序的性能数据,性能调优人员和开发者需要使用性能分析(profiling)辅助工具从全局视角来查看系统的运行状况。本文主要介绍通过熟练掌握 JMC、Tprofiler、JProfiler 等各种性能瓶颈分析工具,进而提高定位性能瓶颈、系统故障排查能力。

1. Java Mission Control

JMC(Java 任务控制)是 Java 7u40 新增加的性能监控工具。目前,Oracle Java 官方在今年 5 月份已经公布 Java Mission Control(JMC)的源代码已正式开源,此举得到了 Java 开发社区的高度赞赏。 工具主要由三个组件构成:Java 进程浏览器、JMX 控制台和 Java Flight 记录器等。

Java 进程浏览器能够利用 Java 自带的 JDP 协议自动发现本地或者远程正在使用的 Java 进程;

JMX 控制台通过 JMX 接口管理监控 JDK,它能够查看堆内存使用情况、CPU 负载等;

Java Flight Recorder 是一个内置在 JDK 中的监测和事件收集框架。收集的事件包括:磁盘 IO、GC、线程 sleep、线程 wait、Socket read/write 等。

下图显示了 JMC 启动后当前机器正在运行中的所有 Java 进程,选择一个进程进行性能监控。JFR 内存视图

JFR 模块包含一般信息、内存、代码、线程、IO、系统、事件等视图。其中,JFR 内存视图收集的信息非常丰富,可以获得内测使用量、GC 配置、GC 时间、对象统计时间等统计信息。下图展示了当前 JVM 进程 GC 时间的统计信息。FR 代码视图

JFR 代码视图可以很容易统计出所有 Java 包占 JVM 进程所有方法调用的总时长。该视图很方便查看热点类、热点方法和热点包的调用次数、所占比例等。JFR 还提供了 I/O 视图、线程视图、系统视图从不同角度更好分析当前进程运行情况。启动 JFR

Java 飞行记录器(JFR)是一种用于收集关于正在运行的 Java 应用程序的诊断和分析数据的工具。它集成到 Java 虚拟机(JVM)中,几乎不会造成性能开销,因此即使在负载非常大的生产环境中也可以使用它。

  • 首先,JVM 进程开启 JFR 功能需要在 JVM 启动参数(Jvm start flags)中增加两个

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读