Каждая рабочая нагрузка отличается. Таким образом, нет единого ответа на этот вопрос. Для создания вещей более сложными, большинство Планировщиков IO имеет tunables. Таким образом, лучшая вещь, которую можно сделать, протестировать с максимально близко к реальной рабочей нагрузке, сравнивающей. Пока Ваш тест повторяем, он должен работать.
Можно изменить планировщики IO на лету, не перезагружая, который делает экспериментирование с io планировщиками легким сделать. Сделать это использование команда как это echo anticipatory | sudo tee /sys/block/sdb/queue/scheduler
замена упреждающего с предпочтительным планировщиком и sdb с корректным блочным устройством. Можно также сделать echo anticipatory > /sys/block/sdb/queue/scheduler
если Вы зарегистрированы как корень. Я использую подход мишени так, чтобы я мог просто использовать sudo.
Как minaev у меня была большая удача с Крайним сроком на занятых файловых серверах. У нас не было материала базы данных, поскольку это была главным образом обработка изображений с вычислительным кластером. Но они насыщали бы 2 ссылки GigE и загрузились бы что сервер в течение 48 часов за один раз.
Я также использовал NOOP при контакте с внешними RAID-массивами. То, под чем я подразумеваю внешний, - то, что RAID-контроллер сам содержавшийся во внешнем шасси, и сервер просто рассматривает это как диск SCSI. Если RAID-контроллер находится в сервере затем, я думаю, что Вы все еще хотите избежать NOOP. Но необходимо смочь выяснить что работы лучше всего для Вас с некоторым сравнительным тестированием.
Не уверенный, если это помогает, но здесь является интересной статьей из Журнала Red Hat: "При выборе I/O Scheduler for Red Hat® Enterprise Linux® 4 и 2.6 Ядер". Я обычно устанавливал планировщик на крайний срок, и он работает хорошо над моими серверами, но я должен признать, что у меня нет чисел, которые доказали бы, что крайний срок действительно лучше.