Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.4.2. Deadline

Планировщик Deadline ограничивает продолжительность задержки. Задержка измеряется с момента получения запроса планировщиком, что довольно важно, так как приложение может перейти в состояние бездействия при ожидании освобождения дескрипторов. По умолчанию операции чтения обслуживаются в первую очередь, так как вероятность блокирования приложений при выполнении чтения более высока.
Deadline обрабатывает запросы не отдельно, а в форме пакетов, содержащих последовательность запросов. После обработки пакета планировщик проверяет время ожидания запросов записи и принимает решение о том, стоит ли приступить к их обработке или получить новый пакет. В начале обработки пакета очередь FIFO будет проверяться только на предмет истекших запросов, и уже после этого будет выбрано направление (чтение или запись). Если была выбрана запись, но в то же время существует истекший запрос чтения, его обслуживание будет отложено до завершения записи.

Параметры

fifo_batch
Число операций чтения и записи в пакете. По умолчанию равно 16. Увеличение значения может улучшить производительность, но и увеличить задержку.
front_merges
Значение 0 может быть присвоено, если вы уверены, что уровень нагрузки не будет требовать объединения запросов в начале очереди. В противном случае рекомендуется оставить 1.
read_expire
Максимальное время ожидания обслуживания запроса чтения (в миллисекундах). По умолчанию равно 500 мс.
write_expire
Максимальное время ожидания обслуживания запроса записи (в миллисекундах). По умолчанию равно 5000 мс.
writes_starved
Определяет приоритет операций чтения, то есть число пакетов чтения, которые будут обслужены, прежде чем будет обработан пакет записи.