При расчете операций ввода-вывода в секунду для традиционных RAID-массивов можно использовать следующую формулу (Заимствовано из Получение зависания IOPS v1.3 в Symantec Connect):
Ieffective = (n * Isingle) / (READ% + (F * WRITE%))
Куда:
F - это Штраф записи RAID:
RAID Level Write Penalty
RAID-0 1
RAID-1 2
RAID-5 4
RAID-6 6
RAID-10 2
RAID-DP 2
Формула по существу является функцией:
И чтобы было ясно, все это дает оценить теоретической производительности. У различных контроллеров и методов RAID есть уловки для ускорения некоторых из них.
Эквивалент RAID5 и RAID6 в ZFS - это RAIDZ и RAIDZ2. При расчете IOPS для массивов RAIDZ могу ли я использовать ту же формулу, что и для RAID5 и RAID6, или есть ли у ZFS специальные приемы для уменьшения количества операций, необходимых для операций записи.
Есть ли другая формула для расчета IOPS для массивов RAIDZ?
На это легче ответить ...
Здесь все дистиллировано: Рекомендации ZFS RAID: пространство, производительность и MTTDL и Более пристальный взгляд на ZFS, Vdevs и производительность
Поэтому, если вам нужно масштабировать, вы масштабируете с количеством vdev RAIDZ ... Например, с 16 дисками 4 группы RAIDZ с 4 дисками будут иметь больший потенциал IOPS, чем 2 группы RAIDZ с 8 дисками.
Удивительно, правда?
Обычно я использую полосатые зеркала (RAID 1 + 0) на своих установках ZFS. Применяется та же концепция. Больше зеркальных пар == лучшая производительность.
В ZFS вы можете расширяться только в единицах полного vdev. Таким образом, если расширение набора RAID 1 + 0 означает добавление большего количества пар, то же самое для наборов RAIDZ означает добавление большего количества групп RAIDZ равного состава.