RDS SQL Server CPU使用率高,什么原因?
CPU使用率高的因素有很多,其中最常见的因素说明及解决方法如下:
实例的并行度设置不合理
线程并行处理任务时,由于每个线程处理的数据量不一致,会出现CXPACKET等待情况,CXPACKET等待发生比较多的话,就会造成CPU使用率高。可以通过SQL Server Management Studio的活动监视器或者如下所示语句(多次执行取差值),监控是否存在大量CXPACKET等待。
说明:CXPACKET指线程正在等待彼此完成并行处理。当SQL Server发现一条指令复杂时,会决定用多个线程并行来执行,由于某些并行线程已完成工作,在等待其它并行线程来同步,这种等待就叫CXPACKET。
应用负载高
建议从应用架构、实例规格等方面来解决。
查询语句的读写过高
对于大表查询,检查是否有合适的索引。检查实际执行计划,针对全表扫描操作进行优化,执行计划中也会给出缺失索引的建议。
通过CloudDBA检查性能问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。