IOPS

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

IOPS (абр. від Шаблон:Lang-en; «кількість операцій введення-виведення на секунду»; вимовляється як [ай-опс]) — кількість операцій введення-виведення, які система зберігання даних виконує за 1 с. Один із параметрів, які використовують для порівняння систем зберігання даних (жорстких дисків (НЖМД), твердотільних накопичувачів (SSD), мережевих сховищ SAN, NAS) та оцінення їхньої продуктивності.

Досягнення величин IOPS, які виробники зазначають у документації устаткування, практично не гарантується[1][2], навіть якщо спробувати відтворити тестове середовище й для вимірювання IOPS скористатися тим самим програмним забезпеченням.

Програмні засоби для вимірювання IOPS:

Якщо кілька разів змінити налаштування пристрою і щоразу виміряти IOPS, можна визначити, за яких налаштувань пристрій досягає найвищої продуктивності.

Розмір IOPS залежить від багатьох параметрів:

Перед запуском тесту необхідно ознайомитися з рекомендаціями виробника щодо його правильного проведення.[6]

Характеристики продуктивності

Послідовний та довільний доступ до носія даних

Під час тесту виконуються такі операції:

  • читання даних із блоків, розташованих на носії послідовно (лінійно);
  • запис даних у блоки, розташовані на носії послідовно (лінійно);
  • читання даних із блоків, розташування яких на носії вибирається випадково (довільно);
  • запис даних у блоки, розташування яких на носії вибирається випадково (довільно).

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

За послідовного доступу до даних розмір блока зазвичай вибирають великим (наприклад, Шаблон:Nobr), а за довільного доступу — малим (наприклад, Шаблон:Nobr).

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

Величина IOPS залежить від конструкції пристрою. Для жорстких дисків та інших електромеханічних пристроїв під час доступу до даних, які розташовані у випадкових блоках, IOPS залежить перш за все від швидкості роботи механічної частини пристрою (від часу позиціювання головки). Для SSD та подібних до них пристроїв IOPS залежить переважно від алгоритмів прошивки мікроконтролера та швидкості роботи інтерфейсу пам'яті. На обох типах пристроїв кількість IOPS за послідовного доступу до даних (за великого розміру блока) виявляється найбільшою.[1]

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

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

Швидкість, як правило, вимірюють у МіБ/с. Для перетворення значення з байт/с у МіБ/с його потрібно поділити на 220=1048576.

Продуктивність деяких жорстких дисків можна збільшити, якщо:

  • збільшити розмір черги, куди потрапляють запити на читання і запис. Обслуговуванням черги займається контролер диска;
  • змусити контролер диска виконувати переупорядкування елементів черги, наприклад, Шаблон:Нп (Шаблон:Lang-en) або NCQ (Шаблон:Lang-en).

У жорстких дисків величини IOPS на запис та IOPS читання приблизно однакові. У більшості SSD на основі флеш-модулів NAND величина IOPS на запис значно менша за величину IOPS на читання. Це пояснюється тим, що при спробі повторного запису в один і той самий блок запускається збирання сміття, і для збільшення терміну служби носія запис виконується в менш використовуваний блок.[7][8][9]

IOPS сучасних SSD з флешпам'яттю значно перевищує IOPS жорстких дисків. Фірма Xssist провела тестування одного з таких SSD — Intel X25-E Шаблон:Nobr G1 з такими умовами:

Результати тесту[10]:

Навіть після різкого падіння продуктивності (приблизно через Шаблон: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

Див. також

Примітки

Шаблон:Reflist

Посилання