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

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

问题很是奇怪,昨天一样的时间段,RDS CPU 占用却少不少,平时 RDS CPU 的占用一般都在 60% 如下,而今天咱们网站的访问量并无明显的突增。缓存

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

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

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

【更新】网站

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

相关文章
相关标签/搜索