【故障公告】再次出现数据库 CPU 居高不下的问题以及找到了最可能的原因
2019-09-06 21:09
1916 查看
非常非常抱歉,今天上午的故障又一次给大家带来麻烦了,再次恳请大家的谅解。
在昨天升级阿里云 RDS SQL Server 实例的配置后(详见昨天的博文),万万没有想到,今天上午更高配置的阿里云 RDS 实例依然出现了 CPU 居高不下的问题。
在数据库 CPU 高的情况下,有时对访问速度影响不大,有时巨慢无边,在今天上午的故障期间,我们通过2次主备切换才恢复了正常。
下午,我们我们调整了服务器的部署,用了更多服务器进行混合部署(docker-compose与docker swarm),情况有了明显改善。
但是,15:15 开始数据库 CPU 又飚了上去,但访问速度没有受到明显影响,一致坚持到 16:50 左右,在扛不住的时候,我们再次通过主备切换恢复了正常。
这次恢复正常后,我们才突然想到,数据库每天一大早会跑一个整理索引碎片的任务,是不是升级后这个任务不能正常执行了?打开 SSMS 一看,果然是。
昨天因为升级 SQL Server 后重建备库,整理索引碎片任务失败了。
Date 9/5/2019 06:30:00 Log Job History (Reorganize Index) Step ID 1 Server SD39184A Job Name Reorganize Index Step Name Reorganize Index Duration 00:00:00 Sql Severity 14 Sql Message ID 927 Message Executed as user: xxx. Database 'xxx' cannot be opened. It is in the middle of a restore. [SQLSTATE 42000] (Error 927). The step failed.
今天不知什么原因整理索引碎片的任务也失败了。
Date 9/6/2019 06:30:00 Log Job History (Reorganize Index) Step ID 1 Server SD39184A Job Name Reorganize Index Step Name Reorganize Index Duration 00:00:00 Sql Severity 14 Sql Message ID 954 Message Executed as user: xxx. The database "xxx" cannot be opened. It is acting as a mirror database. [SQLSTATE 42000] (Error 954). The step failed.
CPU 高的问题很可能就是索引碎片没有被及时整理引起的,是否真的是这个原因,要等下周的访问高峰才能得到验证。
对于升级后整理索引碎片任务失败的问题,我们向阿里云提交工单后,阿里云建议我们先关闭 mirror database 。
alter database 库名 set partner off
目前我们没有采用这个建议,还在考虑更好的解决方法。
相关文章推荐
- 网站故障公告3:应该找到了问题的真正原因
- Failed to generate all binary outputs问题的可能原因以及解决办法!
- Tomcat部署servlet小应用无法找到相应的servlet类的问题可能原因
- 找到问题的真正原因:20121021服务器故障处理经历
- Android CPU使用过大的问题解决以及造成的原因
- 记一次oracle cpu飚满,原因却是数据库导入问题
- 指令重排的原因以及可能造成的问题
- jdbc查询oracle数据库时出现未找到要求的 XXX 关键字可能原因
- 最近在做ShareSDK的微信分享的时候遇到了点问题,就是分享的时候选择微信好友或者微信朋友圈会打开一下微信然后界面都还没加载出来就闪退。这个问题我在网上找了好多种的可能的情况以及处理办法,最终找到了
- 网站故障公告2:找到问题的重要线索
- android可能遇到问题,以及找到的解决方法小总结!
- elasticsearch核心知识--30.分页搜索以及deep paging性能问题深度理解和es中聚合aggregation的分组可能结果不准确的原因
- easyUI设置默认值问题,以及自测环境下没出问题,打包后发给测试有问题可能的原因。
- 深度学习模型输出为nan的一个隐蔽可能原因以及如何用pandas解决这个nan问题
- 附加数据库出错(错误5123)的解决办法(问题虽然解决了,但原因未找到,求指教!)
- 区别对待 【找到问题发生的原因】 以及 【关于这个问题的 「正确可行」 的解决方法】
- 【有关数据库的问题】运行时错误‘3706’:未找到提供程序。该程序可能未正确安装。
- 【有关数据库的问题】运行时错误‘3706’:未找到提供程序。该程序可能未正确安装。
- 找到问题的真正原因:20121021服务器故障处理经历
- 数据库资源消耗高时两条简单管用、快速找出可能问题原因的SQL语句