Mysql cpu 占用率非常高 300%

中午休息时,

mysql 

mysql 对cpu 的使用率 162% , 整服务的cpu 使用率 41.5%

 

正常作业的时候

mysql 对cpu 的使用率 > 300% , 整服务的cpu 使用率 99%

所有的执行查询,都非常慢,

清除linux 服务器缓存, 重启mysql ,修改my.ini 都没有作用

主要是实际没有生产的时候,数据库数据活动不大的情况下,cpu 使用率都超过 100%

检查session 主要是和 打包台的一张包裹表相关 , 

启动mysql 的 innobd_status_output

show variables like"innodb_status_output%";

set GLOBAL innodb_status_output=OFF;

set GLOBAL innodb_status_output_locks=OFF;

很多死锁 和 package_order_tab 相关

由于这张表实际作业时会使用, 前台看的另外一个数据库,相同的表结构的表,因此考虑数据归档,

创建一个结构一样的表, 利用存储过程把数据,迁移过去,并删除原表的数据

但是,执行太慢, 在夜晚,没有打包太执行的时候,半小时在归档500 行数据,

这张表做,主键查询 都要0.4 秒 , 一共才20w数据

Mysql cpu 占用率非常高 300%_第1张图片

 

后来,

把对应pacakge_order_tab 和 package_order_line_tab 的 索引, 主键索引,都删除,重新设置 , 没有问题,非常快

mysql cpu 在多人同时作业时也在 50% 左右

转载于:https://my.oschina.net/u/3556610/blog/3062941

你可能感兴趣的:(Mysql cpu 占用率非常高 300%)