开发者学堂课程【云数据库优化经典案例:CPU 100%场景优化】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/67/detail/1163
CPU 100%场景优化
内容介绍:
一、CPU 100%问题的三大因素
二、CPU 100%最佳实践
前面学习了 SQL 优化、索引优化、锁优化、参数优化、延迟优化,第六个案例为CPU 100%场景优化。
一、CPU 100%问题的三大因素
CPU 100%的问题可以归结为三大因素:
第一个为慢 SQL,这个比较容易理解,数据库出现慢 SQL, 慢 SQL 堆积后,请求越多,慢 SQL 越堆,这个时候数据库的上下文切换, CPU 的上下文切换就非常厉害,此时就很容易把 CPU 打满,所以一个慢 SQL 变慢了之后,可能会把整个数据库都带慢。
第二个是锁,锁的问题是锁,比如出现锁,锁针用了同样也会导致 CPU 100%。
第三个是资源,如果说配置比较低的,但是前端请求 PBS 比较高,此时要做资源的升级。
二、CPU 100%最佳实践
1、慢 SQL 问题
通过优化索引,子查询,隐士转换,分页改写等优化;
针对慢 SQL 的问题,前面讲过要去优化索引,比如出现子查询、隐士转换的,或者 SQL 分页没有写好等等这样的问题。
2、锁等待问题
通过设计开发和管理运维优化锁等待;
锁问题也是前面讲过的,要在设计阶段和开发阶段还有管理运维阶段去防止锁的发生。
3、资源问题
通过参数优化,弹性升级,读写分离,数据库拆分等方式优化;
第三个是资源的问题,可以通过参数优化,比如做些弹性升级,做些读写分离、数据库的拆分等这样一些手段去降低 CPU 的使用,这是 SQL 的最佳实践。