哎,今天系统出了个大故障

Posted Sam_Deep_Thinking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哎,今天系统出了个大故障相关的知识,希望对你有一定的参考价值。

概述


今天中午的时候,告警群里突然多了很多的告警,大量的请求超时了,而报障群里,很快也有人在反馈,系统无法使用了。看了一下数据库负载,哇去,100%了。

我的第一反应就是,昨晚上线的服务,全部回滚,先恢复到上一个可用的版本,但是事与愿违,故障没有消失。后面我仔细想了一下,某张数据库表,昨晚修改了数据库索引,会不会是这个导致的呢?

赶紧让组员看了一下访问这张表的相关的业务sql语句,天呀,全是慢sql,扫描行数都10万了。我赶紧汇报上级,希望能把索引也回滚回去,但是经过DBA的确认,说回滚这个索引至少需要半个小时,不能操作。

那没办法了,只能走限流了。把相关访问这张表的接口,全部限流,让数据库喘口气,慢慢恢复起来。通过这个方式,撑了一天,到了晚上11点的时候,流量低的时候,才把索引回滚回去,彻底解决这个问题。

后面经过DBA的确认,其实是有办法,在两分钟内把索引回滚回去的,哎,这个当时一急,就没去细想了。


小结


经验教训:

数据库表加索引的,如果访问这张表的业务场景很多,需要做关键业务路径的压测,确保没问题了,再上线。不能说,加了索引,优化了一小部分场景,觉得性能没问题了,就上线了。这样可能直接影响到访问这张表的其他接口,导致慢sql。

以上是关于哎,今天系统出了个大故障的主要内容,如果未能解决你的问题,请参考以下文章

Coding Life 四

记一次性能故障排查

刚下了个WinEdt,请问哪里有Latex的教程啊?谢谢。

解Bug之路-记一次存储故障的排查过程

0118ACM自闭赛

哎,又是一个final引发的问题