Категорії
FreeBSD Linux Solaris

Limit IOps: ограничиваем дисковые операции

Начну в порядке от самой простой реализации до самой сложной.

Solaris

В 11.4 появился механизм ограничения операций I/O, которые доступны как свойства ZFS (аналогов в OpenZFS нет):

  • writelimit – максимальное количество байт за секунду которые может записать dataset
  • readlimit – максимальное количество байт за секунду которые может прочитать dataset
  • defaultwritelimit – максимальное количество байт за секунду которые могут записать потомки dataset’a
  • defaultreadlimit – максимальное количество байт за секунду которые могут прочитать потомки dataset’a
  • effectivewritelimit – отчёт о том, какое максимальное количество байт за секунду которые может записать dataset
  • effectivereadlimit – отчёт о том, какое максимальное количество байт за секунду которые может прочитать dataset

Минимальное возможное значение – 500К. Это не гарантированная пропускная способность, а лишь верхняя граница. В реальности скорость может быть ниже

FreeBSD

Это можно сделать через rctl, который появился в 9.0, но сами ресурсы управления I/O добавились лишь в 11.0

# rctl
rctl: RACCT/RCTL present, but disabled; enable using kern.racct.enable=1 tunable

Тут доступны такие “ресурсы”

  • writebps – максимальное количество байт за секунду которые может записать файловая система
  • readbps – максимальное количество байт за секунду которые может прочитать dataset
  • writeiops – максимальное количество операций за секунду которые может записать файловая система
  • readiops – максимальное количество операций за секунду которые может прочитать файловая система

Linux

Самый простой вариант – использовать утилиту ionice. Но она не всегда удобна: нужно переписывать скрипты и везде вставлять её.

Правильный и сложный вариант – использовать cgroup и механизм blkio controller. Но в нём очень много возможностей: от приоритетов I/O до количества секторов.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff