一篇全面的 MySQL 高性能优化实战总结!
不常用但好用的工具
关于zabbix参考:http://www.cnblogs.com/clsn/p/7885990.html 4.2 数据库层面问题解决思路一般应急调优的思路: 针对突然的业务办理卡顿,无法进行正常的业务处理!需要立马解决的场景! 1、show processlist 2、explain select id ,name from stu where name=’clsn’; # ALL id name age sex select id,name from stu where id=2-1 函数 结果集>30; show index from table; 3、通过执行计划判断,索引问题(有没有、合不合理)或者语句本身问题 4、show status like ‘%lock%’; # 查询锁状态 kill SESSION_ID; # 杀掉有问题的session 常规调优思路: 针对业务周期性的卡顿,例如在每天10-11点业务特别慢,但是还能够使用,过了这段时间就好了。 1、查看slowlog,分析slowlog,分析出查询慢的语句。 2、按照一定优先级,进行一个一个的排查所有慢语句。 3、分析top sql,进行explain调试,查看语句执行时间。 4、调整索引或语句本身。 4.3 系统层面cpu方面
内存
IO设备(磁盘、网络)
vmstat 命令说明: Procs:r显示有多少进程正在等待CPU时间。b显示处于不可中断的休眠的进程数量。在等待I/O Memory:swpd显示被交换到磁盘的数据块的数量。未被使用的数据块,用户缓冲数据块,用于操作系统的数据块的数量 Swap:操作系统每秒从磁盘上交换到内存和从内存交换到磁盘的数据块的数量。s1和s0最好是0 Io:每秒从设备中读入b1的写入到设备b0的数据块的数量。反映了磁盘I/O System:显示了每秒发生中断的数量(in)和上下文交换(cs)的数量 Cpu:显示用于运行用户代码,系统代码,空闲,等待I/O的CPU时间 iostat命令说明 实例命令:iostat -dk 1 5 iostat -d -k -x 5 (查看设备使用率(%util)和响应时间(await)) tps:该设备每秒的传输次数。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。iops :硬件出厂的时候,厂家定义的一个每秒最大的IO次数 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |