关于java:性能问题排查使用JPorfiler

起因

生产环境的程序,在应用过程中,客户提到了性能问题,解决比较慢。我在原本想通过日志,和代码逻辑来判断为什么慢,后果因为日志较少,并没有定位出哪里导致的性能问题,所以应用了JPorfiler监控,顺便记录下排查过程。

服务器装置JPorfiler

下载好对应的 linux 版本 jprofiler(我用的是jprofiler_linux_10_1_5.tar.gz),并解压,如图所示凋谢监听端口。

本地装置JPorfiler

下载和服务器版本统一的windows版本的jprofiler,装置启动,连贯形式如下

排查记录


能够看到,sql语句运行,第一个sql,破费了820秒。我看了下sql语句,一下子就晓得哪里慢了。sql语句就不贴出来了,简略形容下就是那个中央用到了批量插入,公司应用的数据库是oracle,oracle的批量插入,间接导致了硬解析问题,导致性能低下,大家能够自行去理解下sql的硬解析问题,有时候批量插入不肯定比for循环插入快。

正告

最初揭示下,千万别用JPorfiler间接连贯生产程序,我间接连的是生产,导致生产程序奔溃了半小时,血的教训,尽量用测试环境复现问题,之后用JPorfiler连贯测试环境测试。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理