综合运用工具监视和排查tomcat应用问题


tomcat经常碰到偶尔无法正常响应甚至宕机重起后恢复的情况,此情况该如何监视和排查呢

总结思路如下。

[@more@]


1 远程监控法

利用某些网站提供的免费检测网站功能,对tomcat应用进行长期自动检测,观察问题出现的频率,为排查问题搜集数据。

推荐用www.jiankongbao.com

提供了比较强大的监控功能,特别是服务器监控功能比较强大。此类网站国外还有很多,需要搜索。

2 本地监控法

在web服务器上 windows 利用系统自带的性能监视器perfmon进行监控;微软的process monitor也是一个很好的监控工具。

分析;linux和unix 推荐用nmon进行整体监控

通常长期数据分析,看看cpu,io,网络,内存4个主要资源的情况 其中哪个达到了瓶颈,特别要注意看曲线分布,是否存在有规律性的突变?

比如明显在每天的某一个高峰时间出现瓶颈?

使用netstat ,微软的portqry等工具监测web和db的连接池的稳定性,如出现反复的close和established的状态切换,可能是连接池实现有问题,或应用实现可能有问题不断误杀。

一个典型常见的错误就是部署了相同的多个应用互相误杀。

本地监控的另外一个有用的方法就是采用科来进行网络分析tcp链接,重连次数自动诊断,http响应分析等等

这一个步骤主要要确认瓶颈是在web服务器本身的资源上还是后台的数据库上。

3 如确认瓶颈在web服务器上,

可采用yahoo提供的yslow工具,对web的页面组件进行下载时间分析,看看主要是哪些组件下载慢? 看下web前端页面设计是否需要优化?

4 如果yslow下载速度比较快,问题仍然不能定位,问题是偶发的,也不好用yslow一直测试

可使用Lambda Probe 进行tomcat的监控 详细内容参考http://www.lambdaprobe.org/d/index.htm

特别要注意监视java内存的泄漏,线程数量的不断增长,http链接请求是否不断增长超过预期的能力。java内存的泄漏需要用专门的工具检测代码。

可使用jprofile 等剖析工具分析哪些线程,以及具体哪些函数占用cpu比较高,然后进行针对性的优化。

一个典型的案例就是后台采用sybase数据库时,由于sybase没有类似oralce的rownum机制,无法直接在数据库翻页,在java中翻页数量比较多的时候容易出现java内存 撑满(memory out)。

5 一旦cpu高问题发生,可先不重启web

可采用windbg进行绑定分析 参考如下实例

http://www.cnblogs.com/longyu/archive/2009/06/21/1507250.html

6 web 日志分析,使用AWStats之类的日志分析工具,对网站进行整体分析

参考http://www.chedong.com/tech/awstats.html

7 使用httpwatch等工具,定位瓶颈页面

参考http://www.httpwatch.com/download/

8 要注意检查tomcat配置文件是否被修改过,比如xml文件的配置不符合规范,可采用debug模式启动tomcat

以获取更多的日志分析。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14067/viewspace-1027178/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14067/viewspace-1027178/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值