Interested Article - IOPS
- 2020-10-19
- 1
IOPS ( аббр. от англ. input/output operations per second «количество операций ввода-вывода в секунду »; произносится как [ай-опс]) — количество операций ввода-вывода , выполняемых системой хранения данных , за одну секунду . Один из параметров, используемых для сравнения систем хранения данных ( жёстких дисков (НЖМД), твердотельных накопителей (SSD), сетевых хранилищ SAN , NAS ) и оценки их производительности.
Достижение величин IOPS, указанных в документации производителями оборудования, на практике не гарантируется , даже если попытаться воспроизвести тестовую среду и для измерения IOPS использовать то же программное обеспечение .
Программное обеспечение для измерения IOPS:
- « Iometer » (разработано фирмой « Intel ») ;
- « » (англ.) ;
- « » (англ.) ;
- « CrystalDiskMark » .
Если несколько раз менять настройки устройства и каждый раз измерять IOPS, можно определить настройки, при которых устройство достигает максимальной производительности.
Величина IOPS зависит от многих параметров:
- конструкция и настройки устройства;
- устройство и настройки драйвера устройства;
- устройство и настройки драйвера файловой системы ;
- устройство и настройки операционной системы ;
-
условия запуска программы, выполняющей
тестирование производительности
(бенчмарка):
- отношение количества операций чтения к количеству операций записи;
- размеры блоков для чтения и записи при последовательном и случайном доступе;
- количество потоков , выполняющих чтение и запись;
- размеры очередей и буферов ;
- наличие фрагментации в файловой системе ;
- наличие приложений, работающих в фоновом режиме ;
- и др.
Перед запуском теста необходимо ознакомиться с рекомендациями производителя по его правильному проведению .
Характеристики производительности
Во время теста выполняются следующие операции:
- чтение данных из блоков, расположенных на носителе последовательно (линейно);
- запись данных в блоки, расположенные на носителе последовательно (линейно);
- чтение данных из блоков, положение которых на носителе выбирается случайно (произвольно);
- запись данных в блоки, положение которых на носителе выбирается случайно (произвольно).
При этом выполняется подсчёт количества операций, которое устройство способно выполнить за одну секунду.
При последовательном доступе к данным размер блока, обычно, выбирается больши́м (например, 128 КиБ ). При произвольном доступе к данным размер блока, обычно, выбирается маленьким (например, 4 КиБ ).
Параметр | Описание |
---|---|
Всего 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 64 GB G1 со следующими условиями:
- программа: Iometer ;
- размер блока: 4 KB ;
- режим доступа: произвольный;
- отношение количества операций чтения к количеству операций записи ( англ. read/write ratio ): 70/30;
- размер очереди ( англ. queue depth ): 4;
- продолжительность тестирования: более 8 часов .
Результаты теста :
- первые 8 минут величина IOPS сохранялась на уровне 10 000 IOPS ;
- в течение следующих 42 минут величина IOPS резко опустилась до 4000 IOPS и стала понемногу снижаться;
- в течение следующих 50 минут и до конца теста величина IOPS изменялась от 3000 IOPS до 4000 IOPS .
Даже после резкого падения производительности (примерно через 50 минут после начала теста) величина IOPS была намного выше IOPS жёсткого диска .
Примеры
Приблизительные значения IOPS (случайного доступа) для жёстких дисков .
устройство | тип | IOPS | интерфейс |
---|---|---|---|
7'200 об/мин SATA -диски | HDD | ~75−100 IOPS | SATA 3 Гбит/с |
10'000 об/мин SATA-диски | HDD | ~125−150 IOPS | SATA 3 Гбит/с |
10'000 об/мин SAS -диски | HDD | ~140 IOPS | SAS |
15'000 об/мин SAS-диски | HDD | ~175−210 IOPS | SAS |
Приблизительные значения IOPS для твердотельных накопителей (условия идеальные; время выполнения операций небольшое). Скорость может снизиться в несколько раз при многократном повторении операций записи в случайные блоки.
устройство | тип | IOPS | интерфейс |
---|---|---|---|
Intel X25-M G2 MLC | SSD | ~8'600 IOPS | SATA 3 Гбит/с |
OCZ Vertex 3 | SSD | ~60'000 IOPS (произвольная запись 4K) | SATA 6 Гбит/с |
OCZ Vertex 3 MAX IOPS | SSD | ~75'000 IOPS (произвольная запись 4K) | SATA 6 Гбит/с |
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 nvNITROTM ES1GB-N03 | Storage Accelerator | ~1'460'000 IOPS | PCIe |
См. также
- MIPS (количество миллионов инструкций, выполняемых за секунду).
- (англ.) .
Примечания
- ↑ Lowe, Scott . techrepublic.com (12 февраля 2010). Дата обращения: 3 июля 2011. 29 июня 2011 года.
- (3 августа 2012). Дата обращения: 15 августа 2013. 9 августа 2013 года.
- от 30 декабря 2011 на Wayback Machine — официальный сайт проекта «Iometer».
- Axboe, Jens . Дата обращения: 4 июня 2010. 12 мая 2010 года. (исходный код доступен на сайте от 2 ноября 2008 на Wayback Machine ).
- от 7 января 2012 на Wayback Machine — сайт проекта «CrystalDiskMark».
- Smith, Kent . SandForce.com (11 августа 2009). Дата обращения: 5 мая 2015. 29 июня 2015 года.
- Hu, X.-Y. and E. Eleftheriou, R. Haas, I. Iliadis, R. Pletka. (PDF). IBM (2009). Дата обращения: 2 июня 2010. Архивировано из 4 октября 2013 года.
- . OCZ Technology. Дата обращения: 31 мая 2010. Архивировано из 26 мая 2012 года.
- . Intel. Дата обращения: 31 мая 2010. 26 мая 2010 года.
- (27 марта 2010). Дата обращения: 1 апреля 2010. 3 мая 2010 года.
- . Дата обращения: 2 декабря 2017. 7 ноября 2017 года.
- . Дата обращения: 2 декабря 2017. 3 декабря 2017 года.
Ссылки
- — Статья pc-hard.ru, 2011.
- от 22 января 2012 на Wayback Machine — Статья blog.aboutnetapp.ru, 2007.
- 2020-10-19
- 1