更新时间:2025-05-29 gmt 08:00
rds for mysql cpu使用率高的问题处理-j9九游会登录
使用云数据库 rds for mysql时,如果您的cpu使用率很高或接近100%,会导致数据读写处理缓慢、连接缓慢、删除出现报错等,从而影响业务正常运行。
2021.11.25 00:00开始,das的部分免费功能将进入存量运营状态,新客户不开放,存量客户可以继续使用,功能不再演进。 这部分功能包括开发工具模块中的sql诊断、表结构对比与同步、数据追踪与回滚、测试数据生成、dba智能运维服务功能以及dba智能运维模块中的空间、参数智能推荐、历史事务、binlog解析功能。
建议提前开启审计日志,便于在出现cpu使用率高的情况时,通过审计日志查看sql执行记录协助定位问题原因。
解决方法一
分析慢sql日志以及cpu使用率指标来定位效率低的查询,再优化查询效率低的语句。
解决方法二
分析当前数据库运行线程来定位效率低的查询,再通过华为云数据管理服务(data admin service,简称das)提供的建议优化这些sql语句来降低实例的cpu使用率以提升系统效率。
- 连接rds for mysql实例。
具体操作请参见《关系型数据库快速入门》,通过内网和公网连接实例的内容。
- 执行以下命令,查看当前执行操作,定位效率低的查询。
show full processlist

查看time和state列,如下图,长事务的id为4038566。
- 得到需要优化的查询后,您可以使用华为云数据管理服务(data admin service,简称das),通过sql诊断查询,您可获知资源消耗大、执行耗时长、执行次数频繁的sql语句。可根据诊断建议进行优化,保持数据库性能的稳定性。
- 登录到数据管理服务控制台。
- 在左侧导航栏,选择“dba智能运维 > 实例列表”。
- 在实例上单击“详情”。
图1 实例列表
- 选择“sql > sql诊断”。
- 选择“数据库”,输入sql语句,单击“sql诊断”。
图2 sql诊断
- 查看诊断详情,获取语句优化建议。
图3 诊断详情
- 暂仅支持 select/insert/update/delete 语句诊断,其中insert 必须带 select 子句。
- 暂不支持使用视图的语句。
- sql诊断功能会获取相关表结构和数据分布信息(非原始数据),该信息仅用于诊断逻辑,不会存储到das服务器。
- 获取表结构和数据分布信息的过程中,可能会对实例带来额外负载,但对性能影响甚微。
- sql诊断历史是唯一存储在das服务器上的数据,如果执行删除操作后,也将彻底从服务器上删除。
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨