中午休息时,mysql
mysql linux
mysql 对cpu 的使用率 162% , 整服务的cpu 使用率 41.5%sql
正常做业的时候数据库
mysql 对cpu 的使用率 > 300% , 整服务的cpu 使用率 99%缓存
全部的执行查询,都很是慢,服务器
清除linux 服务器缓存, 重启mysql ,修改my.ini 都没有做用session
主要是实际没有生产的时候,数据库数据活动不大的状况下,cpu 使用率都超过 100%code
检查session 主要是和 打包台的一张包裹表相关 , blog
启动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数据
后来,
把对应pacakge_order_tab 和 package_order_line_tab 的 索引, 主键索引,都删除,从新设置 , 没有问题,很是快
mysql cpu 在多人同时做业时也在 50% 左右