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