Операции ввода-вывода в секунду ( IOPS , произносится как ай-опс ) — это измерение производительности ввода-вывода, используемое для характеристики компьютерных устройств хранения данных, таких как жесткие диски (HDD), твердотельные накопители (SSD) и сети хранения данных (SAN). Как и в бенчмарках , цифры IOPS, публикуемые производителями устройств хранения данных, не имеют прямого отношения к производительности реальных приложений. [1] [2]
Для осмысленного описания характеристик производительности любого устройства хранения данных необходимо указать минимум три метрики одновременно: IOPS, время отклика и рабочую нагрузку (приложения). При отсутствии одновременных спецификаций времени отклика и рабочей нагрузки IOPS по сути бессмысленны. В отрыве от других IOPS можно считать аналогом «оборотов в минуту» автомобильного двигателя, т. е. двигатель, способный вращаться со скоростью 10 000 об/мин с нейтральной передачей, не несет никакой ценности, однако двигатель, способный развивать заданный крутящий момент и мощность при заданном числе об/мин, полностью описывает возможности двигателя.
Конкретное количество IOPS, возможное в любой конфигурации системы, будет значительно варьироваться в зависимости от переменных, которые тестер вводит в программу, включая баланс операций чтения и записи, сочетание последовательных и случайных шаблонов доступа, количество рабочих потоков и глубину очереди, а также размеры блоков данных. [1] Существуют и другие факторы, которые также могут влиять на результаты IOPS, включая настройку системы, драйверы хранилища, фоновые операции ОС и т. д. Кроме того, при тестировании SSD-накопителей в частности необходимо учитывать некоторые предварительные условия. [3]
Наиболее распространенными измеряемыми характеристиками производительности являются последовательные и случайные операции. Последовательные операции обращаются к позициям на устройстве хранения в непрерывном порядке и обычно связаны с большими размерами передачи данных, например ≥ 128 кБ . Случайные операции обращаются к позициям на устройстве хранения в ненепрерывном порядке и обычно связаны с малыми размерами передачи данных, например 4 кБ.
Наиболее распространенными эксплуатационными характеристиками являются следующие:
Для HDD и аналогичных электромеханических устройств хранения случайные числа IOPS в первую очередь зависят от случайного времени поиска устройства хранения , тогда как для SSD и аналогичных твердотельных устройств хранения случайные числа IOPS в первую очередь зависят от внутреннего контроллера устройства хранения и скорости интерфейса памяти. На обоих типах устройств хранения последовательные числа IOPS (особенно при использовании большого размера блока) обычно указывают максимальную поддерживаемую пропускную способность, которую может обработать устройство хранения. [1] Часто последовательные IOPS сообщаются как простое число мегабайт в секунду следующим образом:
(затем преобразуется в МБ/с )
Некоторые HDD/SSD улучшают производительность по мере увеличения количества ожидающих операций ввода-вывода (т. е. глубины очереди). Обычно это является результатом более продвинутой логики контроллера на диске, выполняющей постановку в очередь команд и переупорядочение, обычно называемую либо Tagged Command Queuing (TCQ), либо Native Command Queuing (NCQ). Многие потребительские SATA HDD либо не могут этого сделать, либо их реализация настолько плоха, что никакого выигрыша в производительности не видно. [ необходима цитата ] Корпоративные SATA HDD, такие как Western Digital Raptor и Seagate Barracuda NL, улучшат производительность почти на 100% с глубокими очередями. [4] Высокопроизводительные SCSI- диски, которые чаще встречаются в серверах, обычно показывают гораздо большее улучшение, при этом Seagate Savvio превышает 400 IOPS, что более чем вдвое превышает его производительность. [ необходима цитата ]
В то время как традиционные жесткие диски имеют примерно одинаковый показатель IOPS для операций чтения и записи, многие твердотельные накопители на основе флэш-памяти NAND и USB-накопители намного медленнее записывают, чем читают, из-за невозможности перезаписи непосредственно в ранее записанное место, что приводит к процедуре, называемой сборкой мусора . [5] [6] [7] Это привело к тому, что центры тестирования оборудования начали предоставлять независимо измеренные результаты при тестировании производительности IOPS.
Флэш-накопители SSD, такие как Intel X25-E (выпущен в 2010 году), имеют гораздо более высокий показатель IOPS, чем традиционные HDD. В тесте, проведенном Xssist с использованием Iometer , случайных передач 4 КБ, соотношения чтения/записи 70/30, глубины очереди 4, показатель IOPS, обеспечиваемый Intel X25-E 64 ГБ G1, начинался примерно с 10000 IOPS и резко падал через 8 минут до 4000 IOPS, и продолжал постепенно снижаться в течение следующих 42 минут. IOPS варьируются от 3000 до 4000 примерно с 50 минут и далее, в течение оставшихся 8+ часов, пока длился тест. [8] Даже с падением случайных IOPS после 50-й минуты, X25-E по-прежнему имеет гораздо более высокий показатель IOPS по сравнению с традиционными жесткими дисками. Некоторые SSD, включая OCZ RevoDrive 3 x2 PCIe с контроллером SandForce , показали гораздо более высокую устойчивую производительность записи, которая более точно соответствует скорости чтения. [9] Например, типичная операционная система имеет много небольших файлов (таких как DLL ≤ 128 КБ), поэтому SSD больше подходит для системного диска. [10]
Размер блока, используемый при тестировании, существенно влияет на количество IOPS, выполняемых данным диском. Ниже приведены некоторые типичные показатели производительности: [11]
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь ){{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка ){{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка ){{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка )Samsung тестирует продукты NVMe с четырьмя рабочими на QD4