案例分享:Mysql主机CPU高负载

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!




故障背景


因对自动化运维平台进行了国产化适配改造,迁移到国产化设备后mysql数据库主机 CPU使用率达到8000%。

主机CPU一共8核,该问题影响了同主机的其他数据库的正常使用。




故障排查


2.1 数据库排查

排查发现迁移之前的zabbix_server服务器未停止,一直在连接数据库。




故障分析处理


3.1 停止迁移前的zabbix_server服务

停止后发现数据库主机CPU未恢复到正常水平。

3.2 停止现在的zabbix_server服务

停止现有的zabbix_server后,数据库主机CPU恢复至正常水平,慢SQL数量也逐步减少。

3.3 原因分析

此次问题的原因主要有以下两点:
  • 1)自动化平台数据库中的部分大表未做表分区,problem表堆积了上亿条数据,mysql无法处理如此大的数据,是导致本次问题的根本原因。
  • 2)旧的zabbix_server服务未停止,使其一直在请求数据库,给数据库主机造成一定的压力,是本次问题的次要原因。

  • 或者在navicat界面操作删除外键。
  • snc_resource_health_history表的create_time字段添加为主键,create_time字段添加至唯一索引里。