JProfiler是一款著名的商业版JAVA性能分析,官网地址包含较为详细的工具介绍:https://www.ej-technologies.com/products/jprofiler/overview.html,这里就不再赘述了。
简单介绍下JProfiler:
1)JProfiler功能强大,使用简单。支持对常见web容器(包含Tomcat)的性能分析。使用简单,只需要在被监控环境部署agent包和启动jdk时候添加jprofiler的启动参数即可。
Please insert
-agentpath:/opt/jprofiler10/bin/linux-x64/libjprofilerti.so=port=8849
into the start command of your remote application right after the java command.
2)测试的主要场景
a) 查看CPU占用比较多的方法
一般来说CPU占用Top5 的方法需要额外关注,需要分析该方法在什么场景下会调用,为什么占用时间较多(业务设计不合理?本身业务逻辑复杂?IO操作过多?线程阻塞?...),看看有没有优化的余地。
b) 查看SQL语句执行效率
系统的瓶颈可能只是某个sql使用不合理,找到慢SQL语句有助于开发人员有针对性的调优。
c) JVM和内存的优化
方便根据内存占用情况设置JVM的堆栈大小,以及定位内存泄漏问题。
3)需要注意
相比较nmon比较,JProfiler是一个比较重量级的测试工具,工具本身消耗的资源要多一些。因此它主要用于单线程/多线程功能测试情况下,协助分析JAVA代码的运行效率,改进代码性能,并不适用于稳定性/压力测试情况下的性能指标获取。
更多的特性,还是自己下载使用吧!
安装包和使用手册下载地址:https://pan.baidu.com/s/1tP-h28DCtZxE2VLwoNU89A(密码私信我)
https://mp.weixin.qq.com/s/qmWS_trqTXJDDuPug7tA6A