问题
昨天刚好是周五,忙碌了一周本以为可以在周五好好轻松下,没成想线上的活动服务出了个问题,市场反馈最近上线的微信活动(是一个类似于测试性格的答题游戏),在游戏结束后结算的时候页面卡死。
排查
我们赶紧查看接口调用日志,发现接口平均响应时间在4s左右。这次活动使用了mongodb,我们之前在做活动的时候碰到过一次忘记给mongo建立索引,导致接口卡死的情况,所以赶紧检查mongo的查询top情况,发现并没有耗时的请求。
这时一个同事提醒我们活动接入了druid,可以检查下是否是sql的问题,我们赶紧打开druid的控制台查看,最慢的sql耗时在800ms,但也不至于把接口拖到4s的地步,不过还是针对索引做了优化。可是情况并没有好转,时间已经过去了十几分钟。
那看来不是存储的问题,那就去找服务器的问题,我们就去看服务器的CPU,内存,网络,发现服务器的CPU达到了100%。