作者:360691894_8a5c48 | 2021-08-06 13:16
查看系统当前IO调度算法:[root@IO-0-1~]#cat/sys/block/sda/queue/schedulernoopanticipatorydeadline[cfq]----括号中为当前使用的算法修改IO调度算法:www.2cto.com[root@IO-0-1~]#echo
查看系统当前IO调度算法:
[root@IO-0-1 ~]# cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq] ----括号中为当前使用的算法
修改IO调度算法: www.2cto.com
[root@IO-0-1 ~]# echo deadline > /sys/block/sda/queue/scheduler
[root@IO-0-1 ~]# cat /sys/block/sda/queue/scheduler
noop anticipatory [deadline] cfq 可以看到IO调度算法已经修改为deadline
针对MYSQL
数据库服务器的IO调度算法优化设置:
1.CFQ使用于IO大小非常均匀的场景
2.比较复杂的OLTP环境最好使用DeadLine算法
3.IO性能不是瓶颈的时候可以使用Noop算法 www.2cto.com
4.Anticipatory适合大数据顺序顺序存储的文件服务器,如ftp server和web server,不适合数据库环境,DB服务器不要使用这种算法。
5.新兴的固态硬盘比如SSD、Fusion IO上,最简单的NOOP反而可能是最好的算法,因为其他三个算法的优化是基于缩短寻道时间的,而固态硬盘没有所谓的寻道时间且IO响应时间非常短。
deadline可调的参数
如:[root@IO-0-1 ~]# cat /sys/block/sdh/queue/iosched/read_expire
500
遗憾的是这些值得大小具体该多少没有固定的答案。。。