tomcat经常碰到偶尔无法正常响应甚至宕机重起后恢复的情况,此情况该如何监视和排查呢
总结思路如下。
[@more@]
1 远程监控法
利用某些网站提供的免费检测网站功能,对tomcat应用进行长期自动检测,观察问题出现的频率,为排查问题搜集数据。
提供了比较强大的监控功能,特别是服务器监控功能比较强大。此类网站国外还有很多,需要搜索。
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
以获取更多的日志分析。
相关推荐
MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的Java heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存...
tomcat假死排查手册
线上问题的排查方法及工具手段,对开发或者运维排查线上问题有很大帮助及使用排查问题使用的工具介绍
JAVA线上问题排查和工具 内容详细 结合实际工作 贴合实际
综合科(办公室)廉政风险排查防控表.pdf
包括在Microsoft Windows Server 2003系列操作系统中或另外提供的许多工具对于排查硬件和软件问题都很有帮助。其中许多最有用的工具主要不是作为故障排查工具提供的,但它们可以用来诊断问题。熟悉可用于故障排查的...
dll文件依赖关系问题排查工具
LeakDiag和LDGrapher,windows内存泄漏排查工具,用于进行一些泄漏位置的查找以及可视化展示。
windows 2003 故障排查工具手册!能够排查所有WIN2003应用中的系统问题...
ha和mat两种工具,用来进行JVM堆内存分析
具体问题应该具体分析解决,一般而言我们解决Tomcat启动闪退问题的关键就是在于收集详细的错误信息,结合日志文件、环境配置和系统资源状态,逐步排查潜在的问题根源,并针对性地进行修正。 以下时可能出现的部分...
jvm问题排查的一个工具手册
Tomcat安装及问题排查解决一、Tomcat yum安装二、手动安装1. JDK下载安装2.tomcat下载安装三、Tomcat安装过程排错四、Tomcat相关命令 演示环境: 系统版本:CentOS Linux release 7.7.1908 (Core) Tomcat版本:...
本文主要记录一次tomcat进程,因TCP连接过多导致CPU占用过高的问题排查记录。 问题描述 linux系统下,一个tomcat web服务的cpu占用率非常高,top显示结果超过200%。请求无法响应。反复重启依然同一个现象。 问题...
进行实时监测,当程序检测到指定的服务或IIS网站【应用程序池】停止以后则自动重启,以此来保证业务系统服务的平稳运行和解决问题争取时间【但真正导致这些业务服务或网站停止的原因还需要运维人员和开发人员排查,...
针对我国煤矿安全生产事故频发的局面,基于地理信息系统(GIS)设计开发了煤炭安全隐患排查治理综合信息管理平台,介绍了该平台的应用架构和功能结构,说明了该平台的业务流程,详细阐述了该平台的核心业务隐患排查治理...
Java常见问题排查
Java诊断利器Arthas排查问题实践.pptx
web常见问题排查