IOPS
IOPS (абр. від Шаблон:Lang-en; «кількість операцій введення-виведення на секунду»; вимовляється як [ай-опс]) — кількість операцій введення-виведення, які система зберігання даних виконує за 1 с. Один із параметрів, які використовують для порівняння систем зберігання даних (жорстких дисків (НЖМД), твердотільних накопичувачів (SSD), мережевих сховищ SAN, NAS) та оцінення їхньої продуктивності.
Досягнення величин IOPS, які виробники зазначають у документації устаткування, практично не гарантується[1][2], навіть якщо спробувати відтворити тестове середовище й для вимірювання IOPS скористатися тим самим програмним забезпеченням.
Програмні засоби для вимірювання IOPS:
- Шаблон:Нп (розробка фірми Intel);[3]
- Шаблон:Нп;
- Шаблон:Нп (від англ. flexible I/O tester);[4]
- Шаблон:Нп.[5]
Якщо кілька разів змінити налаштування пристрою і щоразу виміряти IOPS, можна визначити, за яких налаштувань пристрій досягає найвищої продуктивності.
Розмір IOPS залежить від багатьох параметрів:
- конструкції та налаштувань пристрою;
- будови та налаштувань драйвера пристрою;
- будови та налаштувань драйвера файлової системи;
- будови та налаштувань операційної системи;
- умов запуску програми, яка виконує тестування продуктивності (бенчмарку):
- відношення кількості операцій читання до кількості операцій запису;
- розміри блоків для читання та запису при послідовному та випадковому доступі;
- кількість потоків, що виконують читання та запис;
- розміри черг та буферів;
- наявність фрагментації у файловій системі;
- наявність програм, які працюють у Шаблон:Нп;
- тощо.
Перед запуском тесту необхідно ознайомитися з рекомендаціями виробника щодо його правильного проведення.[6]
Характеристики продуктивності

Під час тесту виконуються такі операції:
- читання даних із блоків, розташованих на носії послідовно (лінійно);
- запис даних у блоки, розташовані на носії послідовно (лінійно);
- читання даних із блоків, розташування яких на носії вибирається випадково (довільно);
- запис даних у блоки, розташування яких на носії вибирається випадково (довільно).
При цьому підраховують кількість операцій, які пристрій здатний виконати за одну секунду.
За послідовного доступу до даних розмір блока зазвичай вибирають великим (наприклад, Шаблон:Nobr), а за довільного доступу — малим (наприклад, Шаблон:Nobr).
| Параметр | Опис |
|---|---|
| Усього IOPS | Сумарна кількість операцій введення-виведення за секунду (при виконанні читання і запису) |
| IOPS довільного читання | Середня кількість операцій довільного читання за секунду |
| IOPS довільного запису | Середня кількість операцій довільного запису за секунду |
| IOPS послідовного читання | Середня кількість операцій послідовного читання за секунду |
| IOPS послідовного запису | Середня кількість операцій послідовного запису за секунду |
Величина IOPS залежить від конструкції пристрою. Для жорстких дисків та інших електромеханічних пристроїв під час доступу до даних, які розташовані у випадкових блоках, IOPS залежить перш за все від швидкості роботи механічної частини пристрою (від часу позиціювання головки). Для SSD та подібних до них пристроїв IOPS залежить переважно від алгоритмів прошивки мікроконтролера та швидкості роботи інтерфейсу пам'яті. На обох типах пристроїв кількість IOPS за послідовного доступу до даних (за великого розміру блока) виявляється найбільшою.[1]
Знаючи IOPS та розмір блока, можна обчислити швидкість виконання операцій:
- байт_на_секунду = IOPS * розмір_блока_в_байтах.
Швидкість, як правило, вимірюють у МіБ/с. Для перетворення значення з байт/с у МіБ/с його потрібно поділити на .
Продуктивність деяких жорстких дисків можна збільшити, якщо:
- збільшити розмір черги, куди потрапляють запити на читання і запис. Обслуговуванням черги займається контролер диска;
- змусити контролер диска виконувати переупорядкування елементів черги, наприклад, Шаблон:Нп (Шаблон:Lang-en) або NCQ (Шаблон:Lang-en).
У жорстких дисків величини IOPS на запис та IOPS читання приблизно однакові. У більшості SSD на основі флеш-модулів NAND величина IOPS на запис значно менша за величину IOPS на читання. Це пояснюється тим, що при спробі повторного запису в один і той самий блок запускається збирання сміття, і для збільшення терміну служби носія запис виконується в менш використовуваний блок.[7][8][9]
IOPS сучасних SSD з флешпам'яттю значно перевищує IOPS жорстких дисків. Фірма Xssist провела тестування одного з таких SSD — Intel X25-E Шаблон:Nobr G1 з такими умовами:
- програма: Iometer ;
- розмір блока: Шаблон:Nobr;
- режим доступу: довільний;
- відношення кількості операцій читання до кількості операцій запису (Шаблон:Lang-en): 70/30;
- розмір черги (Шаблон:Lang-en): 4;
- тривалість тестування: більше Шаблон:Nobr.
Результати тесту[10]:
- протягом перших Шаблон:Nobr величина IOPS зберігалася на рівні Шаблон:Nobr;
- протягом наступних Шаблон:Nobr величина IOPS різко опустилася до Шаблон:Nobr і стала потроху знижуватися;
- протягом наступних Шаблон:Nobr і до кінця тесту величина IOPS змінювалася Шаблон:Nobr Шаблон:Nobr .
Навіть після різкого падіння продуктивності (приблизно через Шаблон:Nobr після початку тесту) величина IOPS була значно вищою за IOPS жорсткого диска.
Приклади
Приблизні значення IOPS (випадкового доступу) для жорстких дисків.
| Пристрій | Тип | IOPS | Інтерфейс |
|---|---|---|---|
| Шаблон:Nobr 7200 об/хв | HDD | ~75-100 IOPS | SATA Шаблон:Num |
| Шаблон:Nobr 10 000 об/хв | HDD | ~125-150 IOPS | SATA Шаблон:Num |
| Шаблон:Nobr 10 000 об/хв | HDD | ~140 IOPS | SAS |
| Шаблон:Nobr 15 000 об/хв | HDD | ~175-210 IOPS | SAS |
Приблизні значення IOPS для твердотільних накопичувачів (умови ідеальні; час виконання операцій невеликий). Швидкість може знизитись у кілька разів за багаторазового повторення операцій запису у випадкові блоки.
| Пристрій | Тип | IOPS | Інтерфейс |
|---|---|---|---|
| Intel Шаблон:Nobr G2 MLC | SSD | ~8600 IOPS | SATA Шаблон:Num |
| OCZ Vertex 3 | SSD | ~60 000 IOPS (довільний запис 4K) | SATA Шаблон:Num |
| OCZ Vertex 3 MAX IOPS | SSD | ~75'000 IOPS (довільний запис 4K) | SATA Шаблон:Num |
| 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 |
| Шаблон:Нп nvNITROTM Шаблон:Nobr | Storage Accelerator | ~1 460 000 IOPS | PCIe |
Див. також
Примітки
Посилання
- ↑ 1,0 1,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ iometer.org Шаблон:Webarchive — официальный сайт проекта «Iometer».
- ↑ Шаблон:Cite web (исходный код доступен на сайте http://git.kernel.dk/ Шаблон:Webarchive).
- ↑ crystalmark.info Шаблон:Webarchive — сайт проекта «CrystalDiskMark».
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web Шаблон:Webarchive
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web