RDS for MySQL CPU 性能问题分析-阿里云开发者社区

开发者社区> 数据库> 正文

RDS for MySQL CPU 性能问题分析

简介: RDS for MySQL CPU 性能问题分析 RDS for MySQL CPU 使用率高是使用 RDS for MySQL 实例过程中比较常见的一类性能问题。 由于实例 CPU 资源打满会直接导致业务受损,且问题发生过程迅速、临界时间短 统计采集困难、问题发生后统计指标呈反向曲线,加之日常运维过程中问题征兆容易被忽视,非常容易导致用户体感问题突然性强烈,因此在这里我们对 RDS for MySQL 的 CPU 使用率高的原因做一个比较详细的分析说明。

1. 原因

2. 释疑

3. 后记


RDS for MySQL CPU 使用率高是使用 RDS for MySQL 实例过程中比较常见的一类性能问题。

由于实例 CPU 资源打满会直接导致业务受损,且问题发生过程迅速、临界时间短 统计采集困难、问题发生后统计指标呈反向曲线,加之日常运维过程中问题征兆容易被忽视,非常容易导致用户体感问题突然性强烈,因此在这里我们对 RDS for MySQL 的 CPU 使用率高的原因做一个比较详细的分析说明。

1. 原因

1.1 宏观

RDS for MySQL CPU 资源使用率达到 100% 的问题, 从宏观的角度来看,主要体现为 RDS 实例的 CPU 时间(处理能力)完全被占用。

rds_cpu_02

1.2 微观

查询执行所需的 逻辑读 总量过高,或者有大量的计算操作 、行锁冲突。

rds_cpu_03

1.3 外部因素

应用提交的查询量过高,RDS 实例规格不满足应用的需求。

rds_cpu_04

1.4 内部因素

存在高执行成本的查询(有可能是慢查询),注意要捕捉到主要矛盾。

rds_cpu_05

2. 释疑

2.1 疑问一

关于 CPU 使用率问题的宏观、微观原因解释是否正确? 

rds_cpu_06

rds_cpu_07

rds_cpu_08

rds_cpu_09

2.2 疑问二

问题出现前 RDS 实例已经正常运行了一段时间,业务量也没有明显变化,为什么当前 CPU 使用率会到 100%? 

rds_cpu_10

rds_cpu_11

2.3 疑问三

反馈的问题查询所涉及的表数据量很少,怎么会导致实例 CPU 使用率 100%? 

rds_cpu_12

2.4 疑问四

RDS 实例 CPU 使用率 100% 是否和实例所在物理机负载有关系? 

rds_cpu_14

3. 后记

本文供《云吞铺子》使用,在后续的文章中我们会分享下 RDS for MySQL CPU 使用率高问题的解决方法。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章