[MySQL优化案例]系列 — 典型性索引引发CPU负载飙升问题
1.停掉慢查询
2.停掉无关的服务
3.停掉从库
1.在刚开始的时间,导出show full processlist;
mysql -uroot -p'xx' -Ne "show full processlist;" > /root/process.txt
2.pt-ioprofile --profile-pid=3946 --cell=sizes
2017年 09月 21日 星期四 15:23:38 CST
114688 114688 0 0 0 0 0 0 0 a表
53098 49152 0 0 0 0 3946 0 0 b表
3.比对这两者,注意pread和Sending data
明显是查询慢,以及并发查询导致,io升高
4.最后测试一下这台机器的io
time dd if=/dev/sdb of=/testrw.dbf bs=4k
5.后期,数据库剥离,方便排错
6.set profiling=1;
show profile cpu,block io for query 1;
可能的原因
1.是经常执行的sql没有加索引,导致执行时间有时候非常长。导致cpu占有到700%
2.pt工具引起的,因为使用pt工具处理慢查询,