10.04.2012 21:23
Исходим из того, что у меня десктоп и веб-сервер.
Долгое время сидел на CFQ, сейчас сменил все же на Deadline, по моему полегче забегало... Совпало с ребутом, да и потупее сам Deadline, чтобы глючить... Началось с того, что при записи на NFS как-то странно подтормаживал запуск других программ. Поэтому сменил, теперь присматриваюсь.
Вывод по чтению отзывов простой - CFQ (иногда с глюками) стремится к распределению полосы среди всех процессов, Deadline в приоритете держит чтения, особенно линейное. Выбрал второе.
09.09.2014 16:40
Собственно, отслеживаю тему. Необходимо разделять влияние планировщика на ввод-вывод с дисками и 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 с хорошими мозгами, чтобы эти самые мозги не путать.
10.09.2014 17:22
Кстати, обратите внимание на загрузку Мониторинг сервера olegon.ru, первый график.
До вчерашнего дня работал noop, вчера работал CFQ, сегодня - Deadline. Разница, как говорится, налицо.
30.07.2023 12:02
Неприятно вчера огорчил BFQ, поставил и на сервере, и на десктопе себе mq-deadline на всех носителях (NVMe у меня нет)
/etc/udev/rules.d/60-ioschedulers.rules

Код:
# HDD
ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="mq-deadline"

# SSD
ACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"

# NVMe SSD
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none"
18.07.2024 10:50
Разбирался сейчас с актуальными, поставил себе все же
Код:
modprobe kyber-iosched
echo kyber > /sys/block/sda/queue/scheduler
работает, действительно, пошустрее...

Но суть того, что хотел написать - админ попросил нагрузить виртуальный сервер со стендбаем, беру RMAN и делаю бекап стендбая в 72 потока в backupset без сжатия.
База напрягается и после 15 потока начинает явно замедляться в запуске потоков. Ожидаемая картина. И тут меня осенило попробовать kyber.
Останавливаю, запускаю, действительно быстрее, замедляется уже где-то ближе к 40.
А дай, думаю, попробую none (ядро достаточно свежее). И тут челюсть падает, поскольку моментально открываются все 72 потока, при том, что latency и IOPS падают вместе с моей челюстью, тоже раза в два.
Попробовал даже на продах (там тоже виртуалки), но ядро старее, потому noop, а не none. Нагрузочное тестирование было сильно послабее, но суть - отклик ускоряется раза в два.
Поэтому, настоятельно рекомендую в гостях выставлять noop или none.
06.09.2024 14:48
Цитата:
OlegON kyber-iosched
допускаю, что проблема была в обновлении без перезагрузки, но сегодня рабочая станция встала колом, едва дыша, подумаешь, на трех дисках шел scrub... обычно это не было проблемой... переключился на mq-deadline, все задышало... думать долго не стал, просто снова его везде поставил и забыл...
Часовой пояс GMT +3, время: 09:38.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.