一、问题
程序连续跑了好多天,上去看看状况,一个top下去,给我整懵了,mysql 消耗 cpu 104%
二、原因
第一个想法可能是配置的参数阈值不合理,由于线上,修改某些参数还是不太方便,先不着急搞参数,先看看MySQL 线程执行状态,一个 SHOW PROCESSLIST下去,发现info里有东西,不妙,
至于
这些字段啥意思,自己找找百老师就搞定了,在此不在细说。
三、解决方案
将info列中的SQL拿出来,看看这货到底藏了什么猫腻;细看sql也复杂,只是根据datetime字段进行删除数据。这就有点意思,这么一个简单的sql还能成精!它能让cpu到100%!
没别的,上来看下该datetime字段是否创建了索引,一看,还真是,没有索引,直接搞上,top在看看效,结果cpu瞬间下来了,卧胡了.....,原准备跟这货杠上了,结果进行了第一步,搞定,白白准备N个优化方案,汗,关于其他优化方式我们遇到问题再细说,实践出真知,好,有机会再更。
本Bug到此为止,下个见......