`

Tomcat无响应问题定位流程

阅读更多

1、apache 死机,apache无法连接tomcat,查看apache的log,errorlog;

2、tomcat死机,tomcat的连接数不够可能,也可能tomcat的请求长时间无法返回,看tomcat的localhost.log,不是catalina.out。

3、如果资源文件很多,每个用户的请求会导致产生x100个的js和图片请求,也会消耗tomcat和apache的连接数,如果用户带宽慢也会导致连接数不够,最终导致用户无法访问(类似攻击就是这么做的,连了而不断开);

4、tomcat上的一个请求如果查询时间长,那么如果多个人都调用此连接,那么就会导致tomcat的连接数快速耗尽,一般主要的可能性是这个;

5、如果是上述问题,很容易从数据库的topsql里面去找到,运维需要经常检查数据库是否有长时间运行的sql,如果是前端请求对应的sql,则如果访问的人多了会迅速吊死整个系统,目前大部分情况都是这样的;

6、Oracle的log上面如果有大量的commit的错误,说明写操作多,数据库io跟不上,如果没有则说明只有读操作,读的操作oracle不会打log,但是如果客户端死掉了,则oracle会报错说客户度无响应,报错在TNS连接上面。

7、如果有大量的插入和update,delete等操作,需要考虑数据量,比如插入100万条,那肯定不能每条commit,而是应该批量插入和commit,对于update和delete如果where限制条件宽,那么会导致大量的rollbock,undo等操作,io会很慢,并且会导致表被锁死,期间其他的操作都会吊住,这是非常危险的操作,需要进行分批的操作(通过where条件来分批);这些通过em检查会很容易找到问题;

8、Oracle的新建连接时间很长,或者无法建立连接:这个在服务器端的log上显示出tns错误,如果发生这个情况,要验证是否dns有问题,是否更换dns可以加快连接速度,如果有关系就证明是dns问题。

9、要每天检查oracle的alert.log和tnslisenter的tracelog;

10、安装并且使用oracle的dbconsole,每天看性能和顶级消耗,里面很容易找到sql相关的问题,包括select和commit问题;

 

总结

1、需要每天查看apache的errrorlog,tomcat的localhost log,oracle的alert.log和listener的tracelog,每天查看oracle的dbconsole;

2、需要调整tomcat的连接数,最好不要用tomcat,而使用glassfish,需要观察oracle的连接数使用情况(一般oracle的连接数300,是否耗尽)

通过操作系统的netstat检查数据库连接数,也可以检查apache和tomcat的连接,也可以检查apache和用户的连接数;

0
1
分享到:
评论

相关推荐

    记一次通过Arthas定位解决springboot中内嵌tomcat问题.docx

    我们首先检查了发送端到 Nginx 主机的网络延迟,通过 ping 命令可以看到,延迟无问题。然后,我们检查了 Nginx 到渠道系统的网络延迟,也没有发现问题。 五、排除 Nginx 影响 为了排除 Nginx 的影响,我们直接使用...

    tomcat源码 tomcat本来就是开源的

    3. **故障排查**:当遇到难以解决的问题时,通过查看源码可以帮助快速定位问题所在,提高故障排查效率。 4. **贡献社区**:对于有能力的开发者来说,还可以参与到Tomcat项目的开发中去,为开源社区做出贡献。 #### ...

    tomcat性能优化.pdf

    此外,对Tomcat的堆栈进行监控,了解不同线程的作用和状态,有助于发现性能瓶颈和定位问题。 深入理解Tomcat的NIO和BIO连接器前端整体流程,以及其源码,是优化过程中的高级技能。比如,通过源码分析,可以掌握HTTP...

    tomcat-connectors-1.2.48-src

    通过阅读源码,可以更好地理解日志信息,定位并解决问题。 总的来说,`tomcat-connectors-1.2.48-src`是理解Tomcat与HTTPD协同工作的关键,对于开发者和运维人员来说,深入研究这个源码能够提高他们对整个系统架构...

    tomcat3源码包

    - Catalina根据请求的URL查找对应的Context(Web应用上下文),并定位到对应的Servlet。 - Servlet实例化(如果需要),调用其`service`方法处理请求。 - 响应返回给客户端。 6. **部署与管理** Tomcat3支持WAR...

    tomcat7源代码

    《深入剖析Tomcat7源代码》 Tomcat7是一款广泛使用的开源Java Servlet容器,它实现了Java EE中的Web应用规范,包括Servlet、...同时,理解源代码也能使开发者在遇到性能瓶颈时,能更有效地定位问题,进行针对性优化。

    tomcat 学习与分析总结资料

    理解Tomcat的工作流程,包括请求的接收、解析、调度、处理及响应过程,有助于我们解决性能瓶颈和调试问题。 3. **Server结构分析** 在Tomcat的配置文件`server.xml`中,`Server`元素是最顶级的容器,包含多个`...

    tomcat健康检查脚本文件异常发送邮件通知.rar

    总结来说,"tomcat健康检查脚本文件异常发送邮件通知.rar"提供的解决方案有效地提升了Tomcat服务器的管理水平,通过自动化监测和报警机制,使运维人员能在问题发生时迅速做出响应,从而提高系统的整体可用性和用户...

    深入剖析Tomcat源码

    通过阅读《深入剖析Tomcat源码》这本书,你可以从源代码层面理解Tomcat的工作流程,这对于成为一名资深的Java Web开发者或者系统架构师来说是至关重要的。这本书将理论与实践相结合,提供大量示例和实际代码,帮助你...

    HowTomcatWork 源代码

    Tomcat的日志系统Juli,提供了丰富的日志记录和级别控制,有助于在遇到问题时定位和解决问题。 通过对《How Tomcat Works》源代码的深入学习,开发者不仅可以掌握Tomcat的工作原理,还能更好地优化和调试应用程序...

    How Tomcat Works 英文书及源码

    此外,还可能涉及日志管理和故障排查技巧,帮助开发者定位和解决问题。 对于开发人员而言,书中提供的源码分析部分可能是非常有价值的。通过阅读和理解Tomcat的源代码,可以深入了解其内部工作流程,从而提升自定义...

    tomcat-7.0.42源码

    总之,Tomcat 7.0.42源码的深度研究有助于我们理解Web服务器的工作原理,优化应用性能,解决运行时问题,甚至进行定制化开发。通过对源码的阅读和实践,开发者可以更好地驾驭这个强大的Web服务器,从而构建更加高效...

    tomcat源码,servlet-api源码

    Tomcat的日志系统Juli提供了丰富的日志信息,结合源码分析,可以快速定位并修复问题。 9. **扩展与插件** Tomcat的模块化设计使得扩展和定制变得容易。开发者可以通过编写自定义Valve(请求处理链中的组件)来拦截...

    深入剖析Tomcat(含源码示例)

    此外,还会教授如何使用日志和调试工具来定位和解决问题。 **总结** 《深入剖析Tomcat》是Java开发者提升技能、深入理解Web服务背后机制的宝贵资源。通过源码分析,读者将能够更高效地部署和维护基于Tomcat的应用...

    tomcat8.0.45应用

    10. **故障排查**:日志文件是识别和解决问题的关键,Tomcat的`logs`目录下的文件可以帮助开发者定位问题。 综上所述,Tomcat 8.0.45 是一个强大的Java Web服务器,它与Eclipse、MyEclipse和IntelliJ IDEA等IDEs的...

    apache-tomcat-7.0.52.zip

    9. **故障排查**:当遇到问题时,检查`catalina.out`日志文件和特定应用的日志文件,有助于定位问题。 10. **升级和维护**:关注Apache Tomcat的版本更新,定期升级以获得最新的安全修复和功能改进。 总之,Apache...

    孙卫琴Tomcat与JavaWeb开发技术详解

    8. **日志与错误处理**:分析Tomcat的日志系统,了解如何读取和分析日志信息,以便于调试和问题定位。 9. **集群与负载均衡**:探讨如何通过Tomcat实现服务器集群,负载均衡策略,提高系统的可用性和扩展性。 10. ...

Global site tag (gtag.js) - Google Analytics