哎,今天系统出了个大故障
Posted Sam_Deep_Thinking
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哎,今天系统出了个大故障相关的知识,希望对你有一定的参考价值。
概述
今天中午的时候,告警群里突然多了很多的告警,大量的请求超时了,而报障群里,很快也有人在反馈,系统无法使用了。看了一下数据库负载,哇去,100%了。
我的第一反应就是,昨晚上线的服务,全部回滚,先恢复到上一个可用的版本,但是事与愿违,故障没有消失。后面我仔细想了一下,某张数据库表,昨晚修改了数据库索引,会不会是这个导致的呢?
赶紧让组员看了一下访问这张表的相关的业务sql语句,天呀,全是慢sql,扫描行数都10万了。我赶紧汇报上级,希望能把索引也回滚回去,但是经过DBA的确认,说回滚这个索引至少需要半个小时,不能操作。
那没办法了,只能走限流了。把相关访问这张表的接口,全部限流,让数据库喘口气,慢慢恢复起来。通过这个方式,撑了一天,到了晚上11点的时候,流量低的时候,才把索引回滚回去,彻底解决这个问题。
后面经过DBA的确认,其实是有办法,在两分钟内把索引回滚回去的,哎,这个当时一急,就没去细想了。
小结
经验教训:
数据库表加索引的,如果访问这张表的业务场景很多,需要做关键业务路径的压测,确保没问题了,再上线。不能说,加了索引,优化了一小部分场景,觉得性能没问题了,就上线了。这样可能直接影响到访问这张表的其他接口,导致慢sql。
以上是关于哎,今天系统出了个大故障的主要内容,如果未能解决你的问题,请参考以下文章