Что касается IOPS, я видел несколько источников в сети, которые предполагают, что IOPS для заданного количества дисков - это просто IOPS для одного диска, умноженное на количество дисков.
Если я правильно понимаю количество операций ввода-вывода в секунду (а я в этом не уверен), я бы подумал, что реальность будет зависеть, среди многих других факторов, от уровня RAID. В RAID 1/10 все данные дублируются по крайней мере на двух дисках, что снижает конкуренцию на конкретном диске для некоторых шаблонов ввода-вывода. Однако на уровнях RAID с чередованием, таких как RAID 0/5/6, данные распределяются, а не дублируются, что означает, что последовательные запросы чтения могут быть для одного и того же шпинделя, что приводит к блокировке, пока завершается предыдущий ввод-вывод. Записи еще более спорны.
Я должен добавить, что я понимаю, что реальность намного сложнее из-за различных оптимизаций и других факторов. Мой вопрос на самом деле сводится к тому, правильно ли я понимаю, что означает IOPS, на самом базовом уровне. Возможно, мое утверждение о том, что уровни RAID могут даже влиять на количество операций ввода-вывода в секунду, указывает на фундаментальное непонимание концепции.
Для HDD, IOPS обычно преобладает время доступа, какой сумма задержки поиска + задержка вращения + задержка передачи. Поскольку эти переменные сильно зависят от шаблонов доступа и имеют неочевидное взаимодействие с конкретной структурой RAID (например, размером полосы) и контроллером (например, настройкой упреждающего чтения), любой простой ответ БУДЕТ НЕПРАВИЛЬНЫМ.
Однако давайте попробуем получить приблизительную цифру. В первом приближении количество операций ввода-вывода в секунду, гарантированное массивом из n дисков, должно в n раз превышать количество операций ввода-вывода в секунду для отдельного диска. Однако как уровень RAID, так и шаблон доступа к даннымпутем смещения веса между задержкой поиска / вращения / передачи резко изменяет это приближение первого порядка.
Давайте рассмотрим несколько примеров, предполагая, что 100 операций ввода-вывода в секунду на один диск (типичное значение для дисков со скоростью 7200 об / мин) и массивы из 4 дисков (за исключением RAID1, часто ограниченного только двусторонней связью):
Повторяю: это простые и почти неверные приближения. В любом случае, если вы хотите поиграть с (сильно неполным) калькулятором RAID IOPS, посмотрите Вот.
А теперь вернитесь в реальный мир. В реальных рабочих нагрузках, RAID10 часто является более быстрым и предпочтительным выбором, сохраняя высокую производительность даже перед лицом деградированного массива. RAID5 и RAID6 не следует использовать для рабочих нагрузок, чувствительных к производительности, если они не ориентированы на чтение или не являются последовательными по своей природе. Стоит отметить, что серьезные RAID-контроллеры имеют большой кэш с обратной записью, защищенный от потери питания в основном, чтобы преодолеть (за счет кэширования тяжелых полос) низкую производительность произвольной записи RAID5 / 6. Никогда не используйте RAID5 / 6 с RAID-контроллерами без кеширования, если вы действительно не заботитесь о скорости массива.
SSD разные звери, подумал. Поскольку они изначально имеют гораздо более низкое среднее время доступа, RAID-массивы на основе четности несут гораздо меньшие накладные расходы на производительность и являются гораздо более жизнеспособным вариантом, чем жесткие диски. Однако в небольшой рабочей нагрузке, ориентированной на произвольную запись, я бы все равно использовал настройку RAID10.
Это просто вопрос определений. Вы можете измерять количество операций ввода-вывода в секунду на разных уровнях системы и получать разные значения. Например, предположим, что у вас есть два зеркальных диска, и вы пишете так быстро, как только можете. Число операций ввода-вывода в секунду, поступающих на диски, будет вдвое больше числа операций ввода-вывода в секунду, которое может обработать один диск при аналогичной нагрузке записи. Но количество операций ввода-вывода в секунду, поступающих в контроллер, будет равно количеству операций ввода-вывода в секунду, которое может обработать один диск.
Обычно нас волнует, сколько логических операций ввода-вывода в секунду мы можем получить в массиве, и нас не особо заботит, что происходит на уровне диска. В этом случае вы правы, и количество операций ввода-вывода в секунду зависит от уровня RAID, количества дисков, производительности отдельных дисков и, в некоторых случаях, от конкретных характеристик операций.