云数据库MySQL

CPU使用率高的原因和解决方法

问题原因

应用提交查询操作或数据修改操作时,系统需要执行大量的逻辑读操作,其中逻辑IO包含执行查询所需访问表的数据行数。所以系统需要消耗大量的CPU资源以维护从存储系统读取到内存中的数据一致性。

说明:
大量行锁冲突、行锁等待或后台任务也有可能会导致实例的CPU使用率过高,但这些情况出现的概率非常低,本文不做讨论。

解决方案

对于因应用负载高导致CPU使用率高的状况,使用SQL进行优化的余地不大,建议您从应用架构、实例规格等方面来处理问题。

更多信息

系统资源算法

下文通过一个简化的模型来说明系统资源、语句执行成本以及QPS(Query Per Second 每秒执行的查询数)之间的关系。

避免出现CPU使用率达到100%的原则