IOPS (аббр. от  «количество операций ввода-вывода в секунду»; произносится как [ай-опс]) — количество операций ввода-вывода, выполняемых системой хранения данных, за одну секунду. Один из параметров, используемых для сравнения систем хранения данных (жёстких дисков (НЖМД), твердотельных накопителей (SSD), сетевых хранилищ SAN, NAS) и оценки их производительности.

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

Программное обеспечение для измерения IOPS: «Iometer» (разработано фирмой «Intel»)iometer.org  — официальный сайт проекта «Iometer».; «IOzone»; «FIO» (исходный код доступен на сайте http://git.kernel.dk/ ).; «CrystalDiskMark»crystalmark.info  — сайт проекта «CrystalDiskMark»..

Если несколько раз менять настройки устройства и каждый раз измерять IOPS, можно определить настройки, при которых устройство достигает максимальной производительности.

Величина IOPS зависит от многих параметров: конструкция и настройки устройства; устройство и настройки драйвера устройства; устройство и настройки драйвера файловой системы; устройство и настройки операционной системы; условия запуска программы, выполняющей тестирование производительности (бенчмарка): отношение количества операций чтения к количеству операций записи; размеры блоков для чтения и записи при последовательном и случайном доступе; количество потоков, выполняющих чтение и запись; размеры очередей и буферов; наличие фрагментации в файловой системе; наличие приложений, работающих в фоновом режиме; и др.

Перед запуском теста необходимо ознакомиться с рекомендациями производителя по его правильному проведению.

Характеристики производительности

Во время теста выполняются следующие операции: чтение данных из блоков, расположенных на носителе последовательно (линейно); запись данных в блоки, расположенные на носителе последовательно (линейно); чтение данных из блоков, положение которых на носителе выбирается случайно (произвольно); запись данных в блоки, положение которых на носителе выбирается случайно (произвольно).

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

При последовательном доступе к данным размер блока, обычно, выбирается больши́м (например, ). При произвольном доступе к данным размер блока, обычно, выбирается маленьким (например, ).

Параметр Описание Всего IOPS Суммарное число операций ввода-вывода в секунду (при выполнении как чтения, так и записи) IOPS произвольного чтения Среднее число операций произвольного чтения в секунду IOPS произвольной записи Среднее число операций произвольной записи в секунду IOPS последовательного чтения Среднее число операций линейного чтения в секунду IOPS последовательной записи Среднее число операций линейной записи в секунду

Величина IOPS зависит от конструкции устройства. Для жёстких дисков и других электромеханических устройств при доступе к данным, расположенным в случайных блоках, IOPS зависит в первую очередь от скорости работы механической части устройства (от времени позиционирования головки). Для SSD и устройств, подобных SSD, IOPS зависит в основном от алгоритмов прошивки (выполняемой микроконтроллером) и скорости работы интерфейса памяти. На обоих типах устройств количество IOPS при последовательном доступе к данным (при большом размере блока) оказывается максимальным.

Зная IOPS и размер блока, можно вычислить скорость выполнения операций:

байт_в_секунду = IOPS * размер_блока_в_байтах.

Скорость, обычно, измеряется в Мбайт/с. Для преобразования из Байт/с в МБайт/с нужно поделить на 1 048 576.

Производительность некоторых жёстких дисков можно увеличить, если: увеличить размер очереди, в которую попадают запросы на чтение и запись. Обслуживанием очереди занимается контроллер диска; заставить контроллер диска выполнять переупорядочивание элементов очереди, например, TCQ () или NCQ ().

У жёстких дисков величины IOPS на запись и IOPS чтение примерно одинаковые. У большинства SSD на основе флэш-модулей NAND величина IOPS на запись значительно меньше величины IOPS на чтение. Это объясняется тем, что при попытке повторной записи в один и тот же блок запускается сборка мусора, и запись выполняется в менее используемый блок для увеличения срока службы носителя.

IOPS современных SSD с flash памятью намного выше IOPS жёстких дисков. Фирма «Xssist» провела тестирование одного из таких SSD — Intel X25-E G1 со следующими условиями: программа: Iometer; размер блока: ; режим доступа: произвольный; отношение количества операций чтения к количеству операций записи (): 70/30; размер очереди (): 4; продолжительность тестирования: более . Результаты теста: первые величина IOPS сохранялась на уровне ; в течение следующих величина IOPS резко опустилась до и стала понемногу снижаться; в течение следующих и до конца теста величина IOPS изменялась .

Даже после резкого падения производительности (примерно через после начала теста) величина IOPS была намного выше IOPS жёсткого диска.

Примеры Приблизительные значения IOPS (случайного доступа) для жёстких дисков.

устройствотипIOPSинтерфейс 7'200 об/мин HDD ~75−100 IOPS SATA 10'000 об/мин HDD ~125−150 IOPS SATA 10'000 об/мин HDD ~140 IOPS SAS 15'000 об/мин HDD ~175−210 IOPS SAS

Приблизительные значения IOPS для твердотельных накопителей (условия идеальные; время выполнения операций небольшое). Скорость может снизиться в несколько раз при многократном повторении операций записи в случайные блоки.

устройствотипIOPSинтерфейс Intel G2 MLC SSD ~8'600 IOPS SATA OCZ Vertex 3 SSD ~60'000 IOPS (произвольная запись 4K) SATA OCZ Vertex 3 MAX IOPS SSD ~75'000 IOPS (произвольная запись 4K) SATA OCZ Vertex 4 SSD ~120'000 IOPS (произвольная запись 4K) SATA 6 Гбит/с OCZ RevoDrive 3 X2 SSD ~200'000 IOPS (произвольная запись 4K) PCIe OCZ Z-Drive R4 CloudServ SSD ~500'000 IOPS PCIe Intel Optane SSD 905P SSD ~555'000 IOPS PCIe Everspin[en] nvNITROTM Storage Accelerator[en] ~1'460'000 IOPS PCIe

См. также MIPS (количество миллионов инструкций, выполняемых за секунду). Performance per watt.

Примечания

Ссылки Что такое IOPS и что он показывает — Статья pc-hard.ru, 2011. О производительности: IOPS vs. MB/s  — Статья blog.aboutnetapp.ru, 2007.

Категория:Запоминающие устройства