开发者社区> 问答> 正文

【RDS】RDS SQL Server CPU使用率高,什么原因?

已解决

RDS SQL Server CPU使用率高,什么原因?

展开
收起
云上猫猫 2022-01-13 15:35:21 1027 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    CPU使用率高的因素有很多,其中最常见的因素说明及解决方法如下:

    实例的并行度设置不合理

    线程并行处理任务时,由于每个线程处理的数据量不一致,会出现CXPACKET等待情况,CXPACKET等待发生比较多的话,就会造成CPU使用率高。可以通过SQL Server Management Studio的活动监视器或者如下所示语句(多次执行取差值),监控是否存在大量CXPACKET等待。

    说明:CXPACKET指线程正在等待彼此完成并行处理。当SQL Server发现一条指令复杂时,会决定用多个线程并行来执行,由于某些并行线程已完成工作,在等待其它并行线程来同步,这种等待就叫CXPACKET。

    应用负载高

    建议从应用架构、实例规格等方面来解决。

    • 升级实例规格,增加CPU资源。
    • 尽量优化查询,减少查询的执行成本(逻辑IO,执行需要访问的表数据行数),提高应用可扩展性。

    查询语句的读写过高

    • 对于大表查询,检查是否有合适的索引。检查实际执行计划,针对全表扫描操作进行优化,执行计划中也会给出缺失索引的建议。 0e9366b3-1e46-4654-878a-a85efb4b4687.png

    • 通过CloudDBA检查性能问题。

    2022-01-13 15:39:53
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像