记一次Mysql导致CPU超负荷运转

昨晚突然收到服务商暂停服务器的邮件通知,原因就是长时间CPU超负荷运转,最后发现,罪魁祸首是Mysql。

1、top查看占用情况,发现Mysql一直高负荷运转,时不时超负荷190-240%。

2、show processlist查看正在执行的Mysql语句,大多数都是sending data状态,搜索一下发现可能是query_cache太小,导致堵塞,查看目前配置,将现有的query_cache从32M提升到64M。

3、explain检查表,XX字段未添加索引,增加后明显好转!

4、为了保险起见,安装redis并启用,为后期再出问题做准备。

后期优化数据表,待完成!