您的位置:首页 > 数据库 > MySQL

给mysql选择调度策略

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

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

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

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

不过这个建议也需要有所保留的,因为磁盘调度策略实际上在不同的内核有很多不一样的地方
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: