Досягнення величин IOPS, які виробники зазначають у документації устаткування, практично не гарантується[1][2], навіть якщо спробувати відтворити тестове середовище й для вимірювання IOPS скористатися тим самим програмним забезпеченням.
читання даних із блоків, розташованих на носії послідовно (лінійно);
запис даних у блоки, розташовані на носії послідовно (лінійно);
читання даних із блоків, розташування яких на носії вибирається випадково (довільно);
запис даних у блоки, розташування яких на носії вибирається випадково (довільно).
При цьому підраховують кількість операцій, які пристрій здатний виконати за одну секунду.
За послідовного доступу до даних розмір блока зазвичай вибирають великим (наприклад, 128 КіБ), а за довільного доступу — малим (наприклад, 4 КіБ).
Параметр
Опис
Усього IOPS
Сумарна кількість операцій введення-виведення за секунду (при виконанні читання і запису)
IOPS довільного читання
Середня кількість операцій довільного читання за секунду
IOPS довільного запису
Середня кількість операцій довільного запису за секунду
IOPS послідовного читання
Середня кількість операцій послідовного читання за секунду
IOPS послідовного запису
Середня кількість операцій послідовного запису за секунду
Величина IOPS залежить від конструкції пристрою. Для жорстких дисків та інших електромеханічних пристроїв під час доступу до даних, які розташовані у випадкових блоках, IOPS залежить перш за все від швидкості роботи механічної частини пристрою (від часу позиціювання головки). Для SSD та подібних до них пристроїв IOPS залежить переважно від алгоритмівпрошивкимікроконтролера та швидкості роботи інтерфейсу пам'яті. На обох типах пристроїв кількість IOPS за послідовного доступу до даних (за великого розміру блока) виявляється найбільшою.[1]
Знаючи IOPS та розмір блока, можна обчислити швидкість виконання операцій:
байт_на_секунду = IOPS * розмір_блока_в_байтах.
Швидкість, як правило, вимірюють у МіБ/с. Для перетворення значення з байт/с у МіБ/с його потрібно поділити на .
Продуктивність деяких жорстких дисків можна збільшити, якщо:
збільшити розмір черги, куди потрапляють запити на читання і запис. Обслуговуванням черги займається контролер диска;
змусити контролер диска виконувати переупорядкування елементів черги, наприклад, TCQ[en] (англ.tagged command queuing) або NCQ (англ.native command queuing).
У жорстких дисків величини IOPS на запис та IOPS читання приблизно однакові. У більшості SSD на основі флеш-модулів NAND величина IOPS на запис значно менша за величину IOPS на читання. Це пояснюється тим, що при спробі повторного запису в один і той самий блок запускається збирання сміття, і для збільшення терміну служби носія запис виконується в менш використовуваний блок.[7][8][9]
IOPS сучасних SSD з флешпам'яттю значно перевищує IOPS жорстких дисків. Фірма Xssist провела тестування одного з таких SSD — Intel X25-E 64 GB G1 з такими умовами:
Приблизні значення IOPS для твердотільних накопичувачів (умови ідеальні; час виконання операцій невеликий). Швидкість може знизитись у кілька разів за багаторазового повторення операцій запису у випадкові блоки.