91

云计算之路-阿里云上: RDS实例CPU跑满引发的故障团队

 6 years ago
source link: https://www.cnblogs.com/cmt/p/8267799.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

云计算之路-阿里云上: RDS实例CPU跑满引发的故障

35695-20180111115731082-103209596.png

今天上午 10: 40 左右,我们所使用的阿里云 RDS 实例的 CPU 突然飙高到近 100% ,造成大量数据库查询操作缓慢、超时,在这个恶劣条件下大量 memcached 缓存无法建立,这样的雪上加霜让 Web 服务器的 CPU 跟着不堪重负,于是要么访问缓慢,要么直接 503 。。。造成网站无法正常访问,由此给您带来了很大的麻烦,请您谅解。

问题非常奇怪,昨天同样的时间段,RDS CPU 占用却少很多,平时 RDS CPU 的占用通常都在 60% 以下,而今天我们网站的访问量并没有明显的突增。

35695-20180111120048379-926154914.png

面对这个突发故障,我们实在找不出可能的线索。在前几年使用阿里云 RDS 曾经遇到过很少几次类似数据库访问突发缓慢的问题,当时都通过主备切换神奇地解决了。这次,我们最终还是采用了主备切换的方法,在 11:20 左右启动了主备切换。

35695-20180111123515113-17864181.png

主备切换后,CPU 很快就降了下来,但由于 SQL Server 预热需要一定的时间(建立缓存),所以在切换后的一段时间,访问网站依然缓慢,直到 11:40 左右才恢复正常。

35695-20180111123846785-954561784.png

我们所使用的 RDS 实例规格是 SQL Server 2008 R2 ,20核CPU ,12G内存,6000 IOPS ,一直没有升级到 Server Server 2012 或 2016 ,就是因为阿里云只有 2008 R2 才提供了高可用版(支持主备切换),而 2012 与 2016 只有基础版。而使用高可用版,在出现突发故障进行主备切换是一个简单有效的方式。

我们在故障恢复后,开启了 RDS 的 SQL 审计功能,正在根据审计情况对查询与索引进行优化。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK