Открыть сервис

IOPS

IOPS (Input/Output Operations Per Second, количество операций ввода-вывода в секунду) — это метрика производительности запоминающих устройств и систем хранения данных, которая измеряет количество операций чтения или записи, выполняемых за одну секунду. В отличие от показателей пропускной способности (МБ/с), IOPS характеризует способность системы обрабатывать большое количество мелких или случайных запросов, что критично для приложений с интенсивным доступом к данным, таких как базы данных, серверы виртуализации и системы реального времени.

История и происхождение

Понятие IOPS возникло в эпоху механических жёстких дисков (HDD), когда производительность накопителя напрямую зависела от времени позиционирования головок и скорости вращения шпинделя. В 1980-х — 1990-х годах, с развитием RAID-массивов и корпоративных систем хранения, потребовалась стандартизация оценки быстродействия. Первоначально IOPS использовалась для сравнения HDD разных производителей (например, диски со скоростью вращения 7200, 10000 и 15000 об/мин).

С появлением твердотельных накопителей (SSD) и NVMe-протоколов в 2010-х годах значение IOPS резко возросло: если типичный HDD выдаёт 100–200 IOPS при случайном доступе, то современный SSD на интерфейсе NVMe способен достигать 1 000 000 IOPS и выше. Это привело к тому, что IOPS стала одной из ключевых характеристик при выборе накопителей для дата-центров и облачных инфраструктур.

Виды IOPS

IOPS классифицируется по типу операций и характеру доступа:

По типу операции

  • Random IOPS (случайный доступ) — операции чтения или записи в произвольные блоки данных на диске. Наиболее требовательный режим, так как требует постоянного перемещения головок (для HDD) или работы контроллера (для SSD). Критичен для баз данных, OLTP-систем.
  • Sequential IOPS (последовательный доступ) — операции с последовательными блоками данных (например, запись видеофайла или чтение логов). Обычно показывает более высокие значения, особенно на HDD.

По направлению

  • Read IOPS — только операции чтения.
  • Write IOPS — только операции записи.
  • Mixed IOPS — смесь чтения и записи в определённой пропорции (например, 70% чтения / 30% записи), что соответствует реальным нагрузкам.

По размеру блока

Стандартные размеры блоков для тестов IOPS — 4 КБ, 8 КБ, 16 КБ, 64 КБ. Чем меньше блок, тем больше операций можно выполнить за секунду, но тем выше нагрузка на систему. В спецификациях производителей обычно указывают IOPS для блоков 4 КБ.

Факторы, влияющие на IOPS

Производительность накопителя по IOPS зависит от нескольких параметров:

Для HDD

  • Скорость вращения шпинделя (5400, 7200, 10000, 15000 об/мин) — чем выше, тем меньше время задержки.
  • Время поиска (seek time) — среднее время перемещения головки к нужному сектору (обычно 4–15 мс).
  • Время задержки (latency) — половина времени одного оборота (например, 4 мс для 15000 об/мин).
  • Интерфейс (SATA, SAS) — влияет на максимальную пропускную способность, но не на IOPS напрямую.

Формула максимального IOPS для HDD: IOPS = 1 / (Время поиска + Время задержки) Например, для диска 15000 об/мин с seek time 3,5 мс: IOPS ≈ 1 / (0,0035 + 0,002) ≈ 182.

Для SSD

  • Тип памяти (NAND TLC, MLC, SLC, QLC) — влияет на скорость записи и износ ячеек.
  • Контроллер — управляет очередями команд, кэшированием, выравниванием износа.
  • Интерфейс (SATA III — до 100 000 IOPS; NVMe PCIe 3.0/4.0/5.0 — до 1 000 000+ IOPS).
  • Глубина очереди (Queue Depth, QD) — количество одновременно обрабатываемых запросов. При QD=1 производительность низкая, но с ростом QD (до 32–256) IOPS растёт до насыщения.
  • TRIM и сборка мусора — фоновые процессы, поддерживающие скорость записи.

Для систем хранения (SAN, NAS)

  • Топология сети (Fibre Channel, iSCSI, InfiniBand).
  • Кэширование (RAM-кэш контроллера, Flash-кэш).
  • RAID-уровень (RAID 0 даёт высокие IOPS, RAID 5/6 снижает из-за операций чётности).
  • Количество дисков — в массиве IOPS суммируется, но с учётом накладных расходов.

Измерение IOPS

IOPS измеряется с помощью специализированных бенчмарков и утилит:

  • fio (Flexible I/O Tester) — стандарт для Linux, позволяет задавать размер блока, глубину очереди, тип доступа.
  • Iometer — утилита для Windows, исторически популярна.
  • CrystalDiskMark — простая программа для тестирования накопителей в пользовательских системах.
  • VDBench — корпоративный инструмент для Oracle, часто используется для тестирования SAN.
  • Sysbench — применяется для оценки производительности баз данных.

При тестировании важно указывать:

  • Размер блока (4 КБ, 8 КБ и т.д.)
  • Глубину очереди (QD)
  • Тип доступа (random/sequential)
  • Соотношение чтения/записи

Результаты без этих параметров неинформативны — например, SSD может показывать 500 000 IOPS на чтение при QD=32 и только 10 000 IOPS при QD=1.

Применение IOPS

В корпоративных системах

  • Базы данных (MySQL, PostgreSQL, Oracle, Microsoft SQL Server) — требуют высоких случайных IOPS для обработки транзакций.
  • Виртуализация (VMware vSphere, Hyper-V, KVM) — множество виртуальных машин создают случайную нагрузку на хранилище.
  • Почтовые серверы (Exchange, Postfix) — работа с множеством мелких файлов.
  • Системы реального времени (биржевые терминалы, телекоммуникационное оборудование).

В облачных вычислениях

Провайдеры (Яндекс.Облако, VK Cloud, Selectel, AWS, Azure) предлагают диски с гарантированным уровнем IOPS (например, до 300 000 IOPS для NVMe-дисков). Для пользователей это метрика, определяющая стоимость и производительность виртуальной машины.

В потребительских устройствах

Для игровых ПК и рабочих станций высокие IOPS (особенно у NVMe SSD) обеспечивают быструю загрузку операционной системы, приложений и уровней в играх. Однако для типичных домашних задач (веб-сёрфинг, офисные приложения) разница между SATA SSD и NVMe SSD в IOPS малозаметна.

Ограничения и критика

  • IOPS не является универсальной метрикой. Высокие IOPS при случайном доступе не гарантируют хорошую производительность при последовательной записи больших файлов. Для оценки полной картины используют комбинацию IOPS, пропускной способности (МБ/с) и задержки (latency).
  • Зависимость от условий тестирования. Производители часто указывают «максимальные IOPS» при идеальных условиях (глубина очереди 256, 100% чтение, блок 4 КБ), что далеко от реальных нагрузок.
  • Износ SSD. Чрезмерное количество операций записи сокращает ресурс ячеек NAND. Для оценки долговечности используют параметр TBW (Total Bytes Written), а не IOPS.
  • Влияние протокола и драйверов. На одной и той же аппаратной платформе IOPS может отличаться в 2–3 раза в зависимости от версии драйвера NVMe, настроек планировщика ввода-вывода (Linux) или версии firmware.

Сравнение типовых значений IOPS

Тип накопителяRandom Read (4KB, QD=1)Random Read (4KB, QD=32)Random Write (4KB, QD=32)
HDD 7200 об/мин~80–100~100–120~80–100
HDD 15000 об/мин~150–200~200–250~150–200
SATA SSD (Samsung 870 EVO)~10 000~98 000~90 000
NVMe PCIe 3.0 (Samsung 970 EVO)~15 000~500 000~450 000
NVMe PCIe 4.0 (Samsung 980 PRO)~20 000~1 000 000~900 000
NVMe PCIe 5.0 (Crucial T700)~25 000~1 400 000~1 200 000

Примечание: значения приблизительные, зависят от конкретной модели, прошивки и тестовой конфигурации.

Интересные факты

  • Термин IOPS иногда путают с «iops» (Input/Output Per Second), но это одно и то же.
  • В ранних спецификациях SATA SSD (2009–2012) производители заявляли 50 000–80 000 IOPS, что считалось революцией по сравнению с HDD.
  • Для достижения миллиона IOPS на NVMe SSD требуется глубина очереди не менее 64–128, что возможно только при многопоточных нагрузках (например, на серверах с 16+ ядрами).
  • В суперкомпьютерах и системах искусственного интеллекта используются хранилища на базе NVMe-oF (NVMe over Fabrics), способные выдавать десятки миллионов IOPS.

Источники

  • «Storage Performance Council — SPC Benchmark 1» (спецификация тестирования IOPS).
  • «Understanding IOPS: A Guide for Storage Performance» (SNIA, Storage Networking Industry Association).
  • «NVMe Base Specification, Revision 1.4» (NVM Express Inc.).
  • «Сравнительное тестирование накопителей: HDD vs SSD vs NVMe» (3DNews, 2023).
  • «Performance Characterization of Modern Storage Systems» (USENIX FAST, 2022).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →