page contents

MySQL数据库cpu飙升的话,要怎么处理呢?

轩辕小不懂 发布于 2021-06-29 11:12
阅读 686
收藏 0
分类:数据库
1152
Nen
Nen
- 程序员

排查过程:

使用top 命令观察,确定是mysqld导致还是其他原因。

如果是mysqld导致的,show processlist,查看session情况,确定是不是有消耗资源的sql在运行。

找出消耗高的 sql,看看执行计划是否准确, 索引是否缺失,数据量是否太大。

处理:

kill 掉这些线程(同时观察 cpu 使用率是否下降),

进行相应的调整(比如说加索引、改 sql、改内存参数)

重新跑这些 SQL。

其他情况:

也有可能是每个 sql 消耗资源并不多,但是突然之间,有大量的 session 连进来导致 cpu 飙升,这种情况就需要跟应用一起来分析为何连接数会激增,再做出相应的调整,比如说限制连接数等。

请先 登录 后评论