故障原因
上午09:13左右钉钉业务报警群出现ice连接数不够和rds的cpu使用率告警,
bug反馈群有客户反馈钉钉版无法登录的情况,查看数据库资源占用情况,发现在
09:10:16开始数据库的cpu使用率达到了100%,一直没有降下来,A进行了一次主备切换,并重启xxx-pro,
重启之后cpu使用率有所下降,但没过多长时间又接近100%,而且一直没有下降,查找慢sql,把其中发生次数最多的慢sql的调用入口做了访问屏蔽,A再次做了主备切换并重启xxx-pro服务,cpu降到60左右,
系统恢复正常访问,本次故障的原因为慢sql较多,导致数据库cpu打满,造成系统无法正常使用
处理过程
9点15分查看rds监控,发现cpu短时间内迅速飙满,
暴露的问题
慢sql访问量较大导致数据库cpu平均使用率在60%左右,高峰期经常会出现占满的情况,一旦cpu占满后没有出现回落,便会导致数据库异常,引发系统无法正常访问的情况
改进措施
对于本次故障,主要从以下几方面做优化
1.定期收集线上慢sql,统计到tb上,tb上的技术改造需求下有慢sql分类,可以把需求建到该分类下,对于高频访问的慢sql要尽快修复,优先级不高的慢sql也要考虑排期逐步优化,部分sql直接从语句层面优化空间很小,需要考虑从产品层面做调整,对于生产环境影响比较大的这部分查询需要尽快考虑如何优化