免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7700 | 回复: 2
打印 上一主题 下一主题

[DevOps] 如何快速定位Java程序性能瓶颈 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-28 18:15 |只看该作者 |倒序浏览

我做运维也有十几个年头了,最近我们的CNT系统(CNT是我们用于记录跳转计数的一套系统)一直很慢,我们总接到很多投诉,一直很头疼。
花了很长的时间做排查也一直找不到问题,无法解决,领导施加了很大的压力。
这个时候开始试用的一套APM产品,来帮助我查找、定位和分析问题。
查看了测试结果后,从中发现了很多问题和很多性能瓶颈,以前从来没有注意过的小问题也暴露了出来,一些系统隐患也通过直观的界面被看到。
该系统使用APM后,CPU消耗增加大约2%,内存几乎没有影响,对业务系统的性能影响很小。
一、系统总览

之前没有使用过APM,APM部署完成后,登陆后通过dashboard,直观地了解到系统整体的运行情况。从中看到了CNT系统的平均响应时间,性能指数和压力,响应时间超过10秒。
二、问题追踪排查
从相应时间中发现,响应过慢,需要进一步追踪造成该问题的原因,从事务的角度分析问题。


进入事务的页面,看到左侧的响应时间列表,发现whole_counter.jsp和counter.jsp两个URL的平均响应时间都在10秒左右,由此判定是这两个文件造成响应过慢。

从上图的Traces中,看到所有执行过慢的事务的开始时间和执行时间。

上图以whole_counter.jsp为例,深入追踪事务的trace详情,可以看到该事务中,执行缓慢的函数。

进一步追踪执行缓慢的函数,以javax.servlet.http.HttpServlet#service()为例,从“方法跟踪”中查看执行代码。
到此为止,我们已经定位到问题的根本所在,下一步就是根据提示的代码行,进行问题排查。
三,关键事务跟踪

我们还是以whole_counter.jsp为例,使用关键事务功能对该URL进行单独监控。

1,从“关键事务”中的“性能剖析”中,可以直观看到该事务的相对耗用一些资源。能从中进一步看出事务启动时间和执行时间。

2,在”slowest components”中,看到了所有执行缓慢的函数、代码以及SQL。



3,从“线程分析”中观察时间分布图,从中看出getAddressFromNameService在所有采样中占比高达99.61%。


4,观察“CPU消耗”,可以看到并不是CPU耗用的问题。

5,从“线程和锁”来进一步判断问题根源,可以看到线程和锁的采样图与时间分布图完全相同,采样占比99.61%的getAddressFromNameService方法可以判断是线程与锁的问题。
6,最后,通过对getAddressFromNameService方法程序进行排查,发现方法中DNS解析失效,语句一直等待DNS反馈,从而导致业务系统性能缓慢。问题完满解决,通过使用APM监控、排查问题,使得解决问题的思路和方法更加明确,解决速度也大大提高了。

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
2 [报告]
发表于 2014-08-29 13:14 |只看该作者
本帖最后由 rdcwayx 于 2014-08-29 13:14 编辑

楼主如果不是来做广告的话,建议再试一下其他的APM产品。我当年对差不多4款流行的APM做过评估。所有的产品都提倡3分钟内确认root cause。

你需要比较性能,许可费用 (有按照CPU付费的, 有按照CPU core 数量付费的,有按照java instance数量付费的),实用性,易用性 等等。

论坛徽章:
0
3 [报告]
发表于 2014-08-29 19:24 |只看该作者
。。。看这是广告
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP