Топ питань
Часова шкала
Чат
Перспективи
IOPS
кількість операцій введення-виведення, які система зберігання даних виконує за 1 с З Вікіпедії, вільної енциклопедії
Remove ads
IOPS (абр. від англ. input/output operations per second; «кількість операцій введення-виведення на секунду»; вимовляється як [ай-опс]) — кількість операцій введення-виведення, які система зберігання даних виконує за 1 с. Один із параметрів, які використовують для порівняння систем зберігання даних (жорстких дисків (НЖМД), твердотільних накопичувачів (SSD), мережевих сховищ SAN, NAS) та оцінення їхньої продуктивності.
Досягнення величин IOPS, які виробники зазначають у документації устаткування, практично не гарантується[1][2], навіть якщо спробувати відтворити тестове середовище й для вимірювання IOPS скористатися тим самим програмним забезпеченням.
Програмні засоби для вимірювання IOPS:
- Iometer[en] (розробка фірми Intel);[3]
- IOzone[en];
- FIO[en] (від англ. flexible I/O tester);[4]
- CrystalDiskMark[en].[5]
Якщо кілька разів змінити налаштування пристрою і щоразу виміряти IOPS, можна визначити, за яких налаштувань пристрій досягає найвищої продуктивності.
Розмір IOPS залежить від багатьох параметрів:
- конструкції та налаштувань пристрою;
- будови та налаштувань драйвера пристрою;
- будови та налаштувань драйвера файлової системи;
- будови та налаштувань операційної системи;
- умов запуску програми, яка виконує тестування продуктивності (бенчмарку):
- відношення кількості операцій читання до кількості операцій запису;
- розміри блоків для читання та запису при послідовному та випадковому доступі;
- кількість потоків, що виконують читання та запис;
- розміри черг та буферів;
- наявність фрагментації у файловій системі;
- наявність програм, які працюють у фоновому режимі[ja];
- тощо.
Перед запуском тесту необхідно ознайомитися з рекомендаціями виробника щодо його правильного проведення.[6]
Remove ads
Характеристики продуктивності
Узагальнити
Перспектива

Під час тесту виконуються такі операції:
- читання даних із блоків, розташованих на носії послідовно (лінійно);
- запис даних у блоки, розташовані на носії послідовно (лінійно);
- читання даних із блоків, розташування яких на носії вибирається випадково (довільно);
- запис даних у блоки, розташування яких на носії вибирається випадково (довільно).
При цьому підраховують кількість операцій, які пристрій здатний виконати за одну секунду.
За послідовного доступу до даних розмір блока зазвичай вибирають великим (наприклад, 128 КіБ), а за довільного доступу — малим (наприклад, 4 КіБ).
Величина 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 з такими умовами:
- програма: Iometer ;
- розмір блока: 4 КіБ;
- режим доступу: довільний;
- відношення кількості операцій читання до кількості операцій запису (англ. read/write ratio): 70/30;
- розмір черги (англ. queue depth): 4;
- тривалість тестування: більше 8 год.
Результати тесту[10]:
- протягом перших 8 хв величина IOPS зберігалася на рівні 10 000 IOPS;
- протягом наступних 42 хв величина IOPS різко опустилася до 4000 IOPS і стала потроху знижуватися;
- протягом наступних 50 хв і до кінця тесту величина IOPS змінювалася від 3000 IOPS до 4000 IOPS .
Навіть після різкого падіння продуктивності (приблизно через 50 хв після початку тесту) величина IOPS була значно вищою за IOPS жорсткого диска.
Remove ads
Приклади
Узагальнити
Перспектива
Приблизні значення IOPS (випадкового доступу) для жорстких дисків.
Приблизні значення IOPS для твердотільних накопичувачів (умови ідеальні; час виконання операцій невеликий). Швидкість може знизитись у кілька разів за багаторазового повторення операцій запису у випадкові блоки.
Remove ads
Див. також
Примітки
Посилання
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads