1.CPU :单个语句由单核频率决定,并行跟数量相关。主从复制时跟I/O相关
2.内存 /硬盘: 缓存命中率,CPU负载高可能因为命中率高。机械硬盘比固态硬盘读取数据上更耗时。固态硬盘要注意擦写速度。
3.SSD上可考虑增加I/O线程数,参数: innodb_io_capacity
4.网络配置 skip_name_resolve 跳过域名解析,慎用,必须在host列使用唯一性IP地址
5.shell命令
$cat /sys/block/sda/queue/scheduler 查看系统所有支持的以及当前再用的调度策略。sda是查看的磁盘的盘符。
$vmstat 监控内存交换。太多的内存交换会导致交换空间溢出。
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 367256 399332 36 1753816 0 0 2 3 14 17 2 2 96 0 0
r: 多少进程在等待CPU
b: 多少进程在不可中断休眠(等待I/O)
memory-swpd:每秒多少块正在被换入(磁盘)和换出(磁盘)
io: 下的列显示多少块从块设备中读取(bi)和写出(bo),反应磁盘I/O
system-in:每秒中断数量
⊥cs:上下文切换数量
cpu:显示CPU时间花费在各类操作上的百分比(用户代码(非内核),执行系统代码(内核), 空闲,等待I/O)
$iostat I/O磁盘信息