Собственно, отслеживаю тему. Необходимо разделять влияние планировщика на ввод-вывод с дисками и SSD в силу физической разницы между этими устройствами. Необходимо так же понимать, что на данный момент, например, читать статьи по этой теме старше 2014 года нет смысла, поскольку все типы планировщиков были переписаны, некоторые не один раз. Ну, если, конечно, речь не идет про какое-то древнее ядро.
Итак, у меня один диск, но вам команда покажет все устройства, если, конечно, они подпадают под маску sd*
Код:
box ~ # cat /sys/block/sd*/queue/scheduler
noop deadline [cfq]
видно, что в данный момент мне доступны три планировщика, причем, выбран cfq.
Сменим на deadline.
Код:
box ~ # echo deadline > /sys/block/sda/queue/scheduler
box ~ # cat /sys/block/sd*/queue/scheduler
noop [deadline] cfq
Собственно, все просто. Во многих статьях рекомендуется ставить noop для SSD, вот вы им не верьте :) По крайней мере попробовать другое точно стоит, ибо оба других про SSD знают и подстраиваются под него.
Собственно, о разнице между ними. Самый простой noop - FIFO для очереди. Процессы встают в очередь и по очереди получают запрошенный кусочек для чтения. CFQ и Deadline группируют ввод-вывод по процессам, причем, первый действует, исходя из приоритезации процессов, а второй - из выделенного времени. Сказать точно, какой именно планировщик подходит под именно ваши задачи никто не скажет. Берете и пробуете. Однозначный факт - влияние на ввод-вывод есть.
Из нюансов, планировщик НЕ занимается логическими чтениями. Т.е. речь идет исключительно об обмене с диском, тюнинг кеша и т.п., все это не сюда. Кроме того, в планировщиках есть параметры, например, для веб-сервера на Deadline я делал при загрузке системы
Код:
echo 1 > /sys/block/sda/queue/iosched/fifo_batch
что уменьшало размер пакета очереди и уменьшало время отклика на каждую операцию ввода-вывода. Но это, если уже будете копать дальше, для большинства юзеров достаточно выбрать сам планировщик.
Что касается noop, его использование имеет смысл на RAID с хорошими мозгами, чтобы эти самые мозги не путать.