日期:2014-05-16 浏览次数:20795 次
项目背景:采用SSH架构,tomcat部署,apache负责集群,terracotta负责session共享。
在我们维护某项目的初期,当访问我们的web服务的用户数过多时,会出现apache的JK Status Manager中Busy数过高,当达到某一峰值,我这里遇到的Busy数是300左右时,对应tomcat将宕掉。
我们采用了一种我称为反向定位Bug的方法。此方法不像以往的只能定位到是哪个action发生错误,而无法更加具体而详尽的定位到是哪个action中的哪一段代码有问题,也无法还原现场,即工程师无法将这个Bug重现。
反向定位Bug方法可以有效的查找出是哪个用户在哪个时间段做了哪些操作造成系统问题,并能有效的定位到出现问题的代码段。
下面做以介绍:
1、找出JK Status Manager中Busy数过高的那几个Tomcat
2、查看对应Tomcat Manager Application中Server Status的信息
得到下述Server Status的信息: