MySQL cpu 占用百分百

MySQL · little_apple · 于 2个月前发布 · 212 次阅读

各位大神,我们线上MySQL目前有1主多从的架构,主从机配置完全一样,数据库读写比例 50:1。

一直正常运行的系统在前两天持续了20分钟大量 504 gateway timeout 错误,是 fpm 执行超过了 nginx fastcgi_read_timeout 设置的 30s,这段时间 fpm 和 MySQL 从机 cpu 负载接近百分百(平常 20%左右),show processlist 在那段时间可以看到同时执行的 sql 数很多,是平常10倍。slow_query.log 显示那段时间慢查询数量是平常5倍。 请问为什么 mysql 会突然表现这样?


共收到 2 条回复
jazzli#12个月前 0 个赞

这应该跟业务有关,你可以通show processlist出来,根据表和字段综合分析,也可以用分析工具mysqlsla分析一下。

避免,只能通过日常化优解决。

admin#21个月前 0 个赞

"show processlist 在那段时间可以看到同时执行的 sql 数很多,是平常10倍" 这些SQL可能就是问题的根源。找到这段时间的慢SQL分析下。例如一些复杂SQL或者缺索引SQL,如果堆积比较多,都是很容易造成CPU问题。

回复本帖 (需要登录)