当前位置: 首页 > 后端技术 > Java

排除性能问题在生产环境中使用JPorfiler

时间:2023-04-02 10:41:31 Java

作为程序。在使用过程中,客户提到性能问题,处理缓慢。本来想通过日志和代码逻辑来判断慢的原因,但是因为日志少,无法定位到导致的性能问题,所以用JPorfiler监控记录了排查过程。在服务器上安装JPorfiler,下载对应linux版本的jprofiler(我用的是jprofiler_linux_10_1_5.tar.gz),解压,如图打开监听端口。在本地安装JPorfiler,下载与服务器版本一致的Windows版jprofiler,安装并启动,连接方法如下。查看记录可以看到sql语句运行,第一条sql耗时820秒。看了一下sql语句,马上就知道哪里慢了。sql语句就不贴了。简单的描述就是那个地方用到了batchinsert。公司使用的数据库是oracle。oracle的批量插入直接导致硬解析问题,性能低下。sql你可以自己去学。硬分析问题,有时候批量插入不一定比for循环插入快。Warning最后提醒,不要使用JPorfiler直接连接生产程序。我直接连接生产程序,导致生产程序崩溃了半个小时。血的教训,尝试使用测试环境重现问题,然后使用JPorfiler连接测试环境进行测试。