高性能MySQL:选择磁盘队列调整策略

作者:港云互联 时间:2020-01-07

        在GNU1Linux上,队列调度决定了到块设备的请求实际上发送到底层设备的顺序。默认情况下使用cfq (Completely Fair Queueing,完全公平排队)策略。随意使用的笔记本和台式机使用这个调度策略没有问题,并且有助于防止I/O饥饿,但是用于服务器则是有问题的。在MySQL的工作负载类型下,cfq 会导致很差的响应时间,因为会在队列中延迟些不必要的请求。

高性能MySQL:选择磁盘队列调整策略


        可以用下面的命令来查看系统所有支持的以及当前在用的调度策略:



$ cat  /sys/block/sda/queue/scheduler



noop  deadline [cfq]



        这里sda需要替换成想查看的磁盘的盘符。在我们的例子中,方括号表示正在使用的调度策略。cfq之外的两个选项都适合服务器级的硬件,并且在大多数情况下,它们工作同样出色。noop调度适合那些自己在背后实现了调度算法的设备,如硬件RAID控制器和SAN。deadLine则对RAID控制器和直接使用的磁盘都工作良好。我们的基准测试显示,这两者之间的差异非常小。重要的是别用cfq,这可能会导致严重的性能问题。



        不过这个建议也需要有所保留的,因为磁盘调度策略实际上在不同的内核有很多不一样的地方,千万不能望文生义。


新人注册,即送价值满880元现金劵

立即注册>>
客服 电话 反馈 活动 回顶部

服务热线

+852-5764-9835

1对1贴心服务,7X24小时热线