@LiquidSnake

Как правильно интерпретировать IOPS?

Всем привет.
Не совсем понимаю как понять значение IOPS? Да, это операции чтения-записи в секунду, но какой смысл в этом значении? Ведь писать на диск можно разными блоками, соответственно и производительность будет разная.
Если можно поделитесь, где можно почитать на эту тему? (да пробел в обучении)
Всем спасибо, и простите за сумбур, чукча не писатель.
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 4
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Всё верно, iops обычно отличается при разных профилях нагрузки - разные блоки, последовательная или рандомная запись, регулярная или с периодическими пиками, параллельность. Именно поэтому нельзя посмотреть на какую-то одну цифру и сказать, что устройство хранения идеально подходит для задачи.
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Да, это операции чтения-записи в секунду, но какой смысл в этом значении?
В возможностях оборудования.

Ведь писать на диск можно разными блоками, соответственно и производительность будет разная.
Разумеется.

Дело в том, что у диска много разных параметров, в том числе и производительность.

И не всегда производительность является самым важным параметром.
Вот например вы хотите пить, и вы можете -
Попросить соседа принести воды с речки. Он сбегает и принесет литр воды через десять минут. Производительность у соседа очень низкая - 6литров в час.
Так же вы можете позвонить в транспортную компанию, там производительность получше - 70литров в час.
В общем они вам привезут 5000литров через три дня.

Транспортная компания в десять раз производительнее соседа. Поэтому логичнее выбрать ее - три дня без воды, когда хочешь пить, это такая мелочь.

К диску обращается множество программ. Одной надо записать данные, второй прочитать, третьей тоже прочитать.
Все эти запросы выстраиваются в очередь.
В один момент времени диск обрабатывает один запрос - остальные терпеливо ждут своей очереди.
И зачастую нам совсем не интересно сколько там диск способен прочитать байт - нам важно сколько запросов он успеет обработать, сколько времени займет обработка одного запроса.
И когда же наша очень важная программа наконец получить так нужные ей 50байт информации? Через секунду или через минуту.

С тем же успехом можно спросить - какой толк нам знать производительность диска.
Ведь при разных размерах блока количество IOPS будет разным.
И какой тогда смысл в этой производительности?

Мне с жесткого диска надо прочитать тысячу имен. И хотелось бы сделать это за секунду.
Одно имя к примеру 50байт
Соответственно мне нужно прочитать 50килобайт за секунду.
Может диск прочитать 50килобайт за секунду? Конечно может, он может сто миллионов байт прочитать за секунду.
Справится ли диск с моей задачей? Разумеется нет.
Ну не может он тысячу IO сделать за секунду.

Зная IO диска и еще некоторые параметры я могу подсчитать насколько быстро моя программа получит нужную информацию.
И соответственно могу спрогнозировать сколько пользователю придется ждать результата - секунду или пару лет.
Ответ написан
@vitaly_il1
DevOps Consulting
Ведь писать на диск можно разными блоками, соответственно и производительность будет разная.

С одной стороны, да. С другой стороны, технически интерфейс диска (и сети, кстати, тоже) построен так, что производительность ограничена не только байтами, но и кол-вом блоков ввода\выводе (или пакетов для сети).
Большое кол-во маленьких блоков или пакетов обычно хуже.
Ответ написан
dimonchik2013
@dimonchik2013
совет, который уже дан - ничего не стоит
в IOPS важно сравнение порядков

HDD один и тот же даст как вы и пишите - в завис от как забить
тех же два hdd дадут в софт рейде получше
в хард рейде с кешем - еще получше (до пределов), без кеша - как повезет
само собой, в рейде 0,1 (неиспользуемые) 5 и 10 (используемые) тоже разное

потом - ssd , а уж ssd в рейде

а потом nvme
берете себе в комп или ноут nvme - и офигиваете даже от скорости браузера
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы