查看系統當前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
遺憾的是這些值得大小具體該多少沒有固定的答案。。。