首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

apache调度集群jkstatus中busy数过高

2013-04-02 
apache部署集群jkstatus中busy数过高?2、查看对应Tomcat Manager Application中Server Status的信息??得到

apache部署集群jkstatus中busy数过高

?

2、查看对应Tomcat Manager Application中Server Status的信息

?
apache调度集群jkstatus中busy数过高
?

得到下述Server Status的信息:


apache调度集群jkstatus中busy数过高

在此处,可以看到是哪个IP提出了哪种Request请求导致Busy数过高。此图片只是用来举个例子,并不是实际中出现Busy过高时的图片。

?

3、在我们的数据库中用户登录记录表中,会有IP和用户账户的对应关系,就可以查出是具有哪种种权限的哪个用户在何时使用了这个应用。此应用即上述Request下对应的应用。

?

4、对Bug重现,进行分析。

?

最终,我们发现我们系统Busy数过高,并不是因为服务器性能不足造成的,而是以下两个代码问题造成的:

?

1、系统有两条复杂的SQL语句,查询结果可以达到上亿条,使得执行到此查询时,需要耗费30分钟左右的时间。

?

2、在action中未规范使用Spring事务处理语句。

?

此两个问题,导致oracle出现严重的锁等待现象,通常会出现数以千计的锁。解除oracle锁,可以查看我的《批量解决oracle锁等待的方法》一文。

?

出现问题1的原因是某些程序员在select中使用了过多无用的表,并将这些无用的表连接起来,导致拼凑出大量无用的查询数据。删除这些无用表即可。若不行,您可以考虑经此处的业务逻辑尽量简化一下。

?

action中未规范使用Spring事务处理语句,可参考我写的《Spring事务管理最容易犯的一种错误》。

?

?

热点排行