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 →