====**Что нужно знать**====
<{Принцип работы лимитов
IO лимит для qyp ВМ ограничивает чтение и запись.

Пользователь на текущий момент может выставить два параметра на ВМ: гарантию и лимит в мегабайтах в секунду. //Гарантия// используется при планировании пода, на самой ноде никак не отражена. Наоборот, //лимит// учитывается на ноде и никак не влияет на размещение пода. Чтобы указать гарантию требуется соответствующая квота в ABC / Dispenser. В будущем лимит будет выставлен автоматом в зависимости от гарантии чтобы избежать злоупотребления.

У IO есть два измерения: bandwidth и iops. Лимит ограничивает оба измерения:
#|
|| | bandwidth | iops ||
|| read | ✓ | ✓ ||
|| write | ✓ | ✓ ||
|#

Кол-во iops в секунду зависит от указанного bandwidth по формуле:

%%(math outline)
\frac {bandwidth * sr\_bandwidth\_factor}{rr\_iops\_divisor}
%%

Значения коэффициентов для разных типов дисков взяты из ((https://a.yandex-team.ru/arc/trunk/arcadia/infra/yp_export/models/disks.json arcadia)):
#|
|| storage_class[[*1]] | rr_iops_divisor | sr_bandwidth_factor | iops per MiB/s ||
|| hdd | 131072 | 1 | 8 ||
|| ssd | 8192 | 1 | 128 ||
|| nvme | 4096 | 1 | 256 ||
|#
[[#1]] для массивов пропускная способность дисков суммируется


Потребление IO для своей ВМ можно посмотреть зайдя на https://qyp.yandex-team.ru, перейдя к нужной вм и в разделе VM STATS на виджет Disk operations.


Гарантии для вм в default подобраны как **95-ый перцентиль** потребления сервисом bandwidth на ssd и hdd, bandwidth для ssd оценивается по метрике %%portoinst-io_read_bytes_/ssd_tmmv%%, bandwidth для hdd считается по метрике %%portoinst-io_read_bytes_/place_tmmv%%.
Перед взятием квантили нули удаляются из серии, квантиль считается по данным за две недели. Гарантии в dev сегменте считаются относительно реальных аллокаций cpu и выдаются по 18 MiB/s SSD и 3 MiB/s HDD на ядро. Для HDD применяется коэффициент оверкоммита равный
двум (то есть лимит вдвое больше гарантии).

**Проблемы** модели:
* довольно низкое значение IO HDD на cpu в dev сегменте. Такое значение было выбрано по причине небольшого количества HDD в dev сегменте с целью избежать оверквоттинга. Если нужен регулярный быстрый бэкап ВМ рекомендуется использовать SSD.
* гранулярность метрик - 5 секунд, модель использует усреднённое значение за этот интервал. Если для вас важно пиковое потребление, то предложенное значение лимита может оказаться недостаточным.
* часть метрик при старте пода может быть потеряно, т.к. метрики начинают собираться ассинхронно


Подробно про описание поиска подходящих лимитов для default можно почитать здесь ((https://wiki.yandex-team.ru/users/akorobkov/IO-statistika-po-podam-YP/ здесь))
}>

