您的位置:首页 > 其它

一次load飙高的故障分析过程

2011-04-27 08:27 274 查看
这个故障已经过去好多天了,但是还是要记在这里以供别的兄弟参考。

现象:
应用服务器正常服务期间,load突然飙高,但是看访问日志却发现不了异常,应用支持的架构师说访问量没有任何异常。

分析:
load突然飙高,要么瞬间访问量突然加大,要么原来的事务中依赖的资源突然耗时导致事务处理时间突然加大。

我们的应用集群下服务器的性能还是有把握的,正常的有交易性事务的服务能力也在500万/日以上。而服务器在正常服务器间
没有做任何改动,所以首先不考虑参数优化和代码性能造成的原因。

先分析所有事务的处理时间,根本accesslog分析基本排除每次请求处理超时,也就排除请求处理中访问其它资源耗时的情况。
于是再次想到访问量,应用支持架构师说该时段内访问量正常,但是..........

我们的服务能力在高峰期有几十万/时,从整个时段内看不了异常,但如果在某几分钟内突然发生十万请求,对于整个时段是看不出来
异常的,但对于这几分钟可以有就是饱和式访问。所以我把访问量先分每十分钟一段,基本已经看出问题了,其中某十分钟的请求数是
平时的3倍,再把这十分钟按每分钟分段,结果在其中一分钟内请求超过原来的15倍。

原来基本定位了,分析一下这个时段内访问的ip看到大量的同一ip段在访问,其ua带有明显的特征,就是百度的爬虫在大量并发访问。
于是先暂时封锁这个ip的访问,服务器慢慢恢复正常。

这个故障分析过程其实就是细致,细致,再细致。应用支持架构师一直声明访问量正常,但是当排除其它可能时,我还是再次对访问量
做了分析,别看一个时段总量正常,哪怕是某几秒饱和式访问也可能引起load突然飙高。所以细致的分析是必要的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: