Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Centos 7: настроить планировщики ввода/вывода (I/O schedulers)


 

Centos 7: настроить планировщики ввода/вывода (I/O schedulers)


Планировщики ввода/вывода используются для оптимизации чтения/записи на диск


В Centos 7 есть три типа планировщиков ввода/вывода


Вывод с сервера двух различных устройств:

more /sys/block/sda/queue/scheduler
noop [deadline] cfq

more /sys/block/nvme0n1/queue/scheduler
[none] mq-deadline kyber


Noop/[none]:
Noop реализует простой алгоритм планирования FIFO: первым пришел - первым вышел
(с минимальными затратами ресурсов процессора)


Deadline/mq-deadline:
Пытается обеспечить гарантированную задержку для запросов
Особенно подходит, когда операции чтения происходят чаще, чем операции записи
Одна очередь для чтения и одна для записи
Операции ввода-вывода отправляются на основе времени, проведенного в очереди


CFQ (Completely Fair Queuing):
Способствует вводу-выводу, поступающему из процессов в реальном времени
Предугадывает, будет ли приложение выдавать больше запросов ввода-вывода в ближайшем будущем
(вызывая небольшую тенденцию к простоям)


В Centos 7 по умолчанию планировщик ввода/вывода - CFQ для дисков SATA, Deadline для остального
Это потому, что Deadline превосходит CFQ для более быстрого хранения, чем диски SATA


Конфигурация при загрузке

Чтобы определить глобальный планировщик ввода-вывода (пример: cfq) при загрузке, введите:
# grubby --update-kernel=ALL --args="elevator=cfq"


Конфигурация для конкретного диска

Чтобы получить текущую конфигурацию диска (здесь /dev/sda), введите:
# more /sys/block/sda/queue/scheduler
noop deadline [cfq]


Чтобы назначить планировщик ввода-вывода (здесь deadline) для конкретного диска:
# echo deadline > /sys/block/sda/queue/scheduler


Примечание: это может быть установлено постоянно через службу rc-local
Выполнение задач во время загрузки использует файл rc.local
Для выполнения задач во время загрузки вы помещаете их в файл /etc/rc.d/rc.local
Затем вы меняете права на выполнение этого файла:
chmod u+x /etc/rc.d/rc.local

Помимо разрешения выполнения задач, это активирует новый rc-local сервис Systemd
(для всех будущих загрузок, это похоже на включение systemctl на языке Systemd)

Можете запустить службу rc-local, таким образом, проверить выполнение файла rc.local:
systemctl start rc-local


Чтобы проверить новую конфигурацию, введите:
# more /sys/block/sda/queue/scheduler
noop [deadline] cfq

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект