给mysql选择调度策略

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

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

cat /sys/block/磁盘盘符(比如sda)/queue/scheduler

noop deadline [cfq]([]中就是正在使用的调度策略),cfq之外的两个选项都适合服务器级的硬件,并且在大多数情况下,他们工作同样出色,noop调度适合那些自己在背后实现了调度算法的设备(什么样的设置能够自己实现调度算法),如硬件raid控制器和san。deadline则对raid控制器和直接使用的磁盘都工作良好,我们的基准测试显示,这两者之间的差别是非常小的,重要的是别用cfq,这可能会导致严重的性能问题。

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

 

给mysql选择调度策略,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。