原生异步I/O

普通硬盘

在随机I/O较多,并发量较大的OLTP环境中,磁盘调度算法deadline会明显优于cfq(待验证),因此建议设置磁盘调度算法为deadline,设置方法如下:

echo deadline > /sys/block/sdb/queue/scheduler

在顺序I/O较多,并发数相对较少的OLAP环境中,单线程I/O时,cfq和deadline差别不大;但当进行并发I/O时,调度算法为cfq且段预取较大时,I/O性能优于deadline。因此建议将磁盘调度算法设置为CFQ,如下:

echo cfq > /sys/block/sdb/queue/scheduler

磁盘阵列

在磁盘阵列上,目前的文件系统一般为xfs,磁盘调度算法的区别不大,因此建议保留Linux系统的默认调度算法。

固态硬盘

对于固态硬盘,目前未进行较多的研究,通过测试,建议设置参数如下:

echo deadline > /sys/block/sdb/queue/scheduler