Свежие комментарии
Title | Comment |
---|---|
У меня наверно найдётся |
У меня наверно найдётся максимум четыре пустых диска, но это похоже не интересно :). Всё таки интересно получить iostat -Ix до и после записи большого файла, тем более пул с данными. |
Я не могу остановить жизнь по |
Я не могу остановить жизнь по всему дому и поставить чистый эксперимент. С другой стороны, "по всему дому" за время эксперимента - вряд-ли больше пары гигов записали, поэтому почти чистый получился. На 1-м диске (по всем - не стал): Оверхед получается 1.254. Ожидаемый - 1.2 (6/5). Ну вот опять - единицы процентов оверхеда, с точностью то time machine на мак мини жены (ну не стал я проверять, работает оно там у нее или нет) |
На пуле - есть данные, |
На пуле - есть данные, примерно 12Tb, спрятать некуда |
Если на пуле не было данных, |
Если на пуле не было данных, то для чистоты эксперимента можно пересобрать пул на трёх зеркалах и подтвердить соотношение 3*V против 5*V :). |
Если измерять чистую скорость |
Если измерять чистую скорость пула, то можно ограничиться dd if=/dev/zero of=файл на пуле, тогда можно считать максимально возможный источник по скорости. Также можно dd просто прочитать какой то объём с одного диска и узнать приблизительную скорость одного диска (запись и чтение почти одинаковы). |
Очень хорошо, что под рукой |
Очень хорошо, что под рукой есть raidz на 6 дисков. Если можно перед копированием дать iostat -Ix. Скопировать большой файл и опять дать iostat -Ix. Сравнить размер файла с тем, сколько реально записалось на диски. Если пул был пустой, то можно получить минимальный возможный оверхед при записи. Если на пуле были данные, была фрагментация, то более менее реальный. |
Пардон за форматирование. |
Пардон за форматирование. Если нажать в комменте выше reply - Вы его увидите в полную ширину. |
Всегда же можно достать и |
Всегда же можно Вот что говорит zpool iostat -v 10 (10 - чтобы как-то усреднил) примерно в момент скриншота: capacity operations bandwidth Что мы видим: 1) На пул пишется 451 данных, а винда показывает 446. Это либо точность измерения, либо тот оверхед, о котором вы говорите. Она (точность)/он(оверхед) в районе 1-2% 2) На диски пишется 6*91 = 546Mb/s данных + четности 3) Сколько мы ожидаем "данных плюс четности"? 451*6/5 = 541. Опять, то ли в пределах точности (я все цифры у дисков округлил до 91, на глазок, может и зря) то ли еще 1% оверхеда. Ну вот 9*V минус несколько процентов оверхеда - будут сильно быстрее 5*V.
|
Получается 5 зеркал по 2 |
Получается 5 зеркал по 2 диска (полезная емкость 5*N) и raidz из 10 дисков (полезная емкость 9*N). Максимальная физическая скорость записи первого пула приблизительно 5*V, максимальная скорость второго пула приблизительно 9*V. Но zfs это не голые диски, поэтому для сравнения необходимо определить какой размер recordsize у zfs и размер страйпа у raidz (под страйпом понимается размер блока на одном диске, который входит в общий страйп при записи на все диски)? Также какое количество копий метаданных при записи определено для пула (для данных считаем одну копию)? Оценка скорости будет не совсем однозначная как кажется на первый взгляд. |
А еще лучше - 12, потому что |
А еще лучше - 12, потому что делится на все. |
Нет, давайте мы будем |
Нет, давайте мы будем рассматривать одинаковое количество дисков, иначе ерунда получается совсем. Ну и количество дисков возьмем какое-то вменяемое, ну там 10. |
Наверно я плохо понимаю, |
Наверно я плохо понимаю, поэтому простой пример - пусть один zpool из двух mirror по два диска (всего 4 диска в пуле) и пул raidz такой же емкости из трёх дисков (как вариант можно рассмотреть ещё raidz2 из 4 дисков). Если сравнивать скорости чтения/записи (понятно нужно оговаривать характер нагрузки), то быстрее будет первый пул. |
В наше сложное время без |
В наше сложное время без оказоустойчивости очень плохо. Статистика по дискам доступна, 25% вылетов в первый год - встречается. |
Ну где "выигрыш в скорости |
Ну где "выигрыш в скорости записи то"? Я еще раз повторяю, в N-way mirror мы пишем в N раз больше данных. В raidN на K дисках: в K/(K-N) раз. Вывод: при фиксированном N (скажем, два) и фиксированном K (большем чем 2N) - raid будет быстрее на запись (но медленнее на чтение) |
raidz потерю двух не |
raidz потерю двух не переживёт. raidz2 ещё больше тормоза. Но я так понял речь шла не о отказоустойчивости. |
Проигрыш в объеме при |
Проигрыш в объеме при использовании зеркал однозначен, зато выигрыш в скорости записи и при чтениии более, чем в один поток. |
Не, ну вопросов нет, страйп |
Не, ну вопросов нет, страйп быстрее raidz из того же количества дисков. Но вот когда вы хотите обеспечить устойчивость к выпадению (двух любых) дисков (к примеру) - уже не все так однозначно.... |
В зеркале два или более диска |
В зеркале два или более диска пишут одинаковую информацию параллельно, поэтому можно считать, что зеркало пишет со скоростью одного диска (правильнее со скоростью самого медленного). Можно для тестов вообще не делать зеркала. Я сравнивал пул одинакового размера. |
Ну подождите, при N-way |
Ну подождите, при N-way mirror - запись увеличивается в N раз. При N-disk/K-raid - в N/(N-K) Ну и на глазок - похоже. |
raidz по записи будет |
raidz по записи будет медленее, чем такой же по объёму страйп из дисков/зеркал. Это вытекает из транзакционности записи в zfs и большому пенальти raidz при read-modify-write. Простым языком - количество записываемой информации на диски будет больше при raidz. Это достаточно легко проверить записав файл и проверив сколько реально было записано на все диски информации (понятно, что при заполнении пула этот эффект будет проявляться всё больше и больше). Для повышения скорости записи больших файлов можно отключить zil (на отказоустойчивость не влияет), изменить logbias, redundant_metadata, что также влечёт уменьшение количества записываемой информации. Добившись минимальных накладных расходов при записи оцениваем загрузку дисков gstat-ом. Если имеем 100% загрузку дисков при записи файла - система упирается в скорость дисков, если нет ищем во что упираемся. |
Самое смешное, что для моей |
Самое смешное, что для моей задачи - очень маленькое количество потоков чтения записи - это кажется не так и raidz должен быть быстрее. |
Я думал, это синдром |
Я думал, это синдром русскоязычных коммьюнити… |
Ну вот в fs@ меня начали |
Ну вот в fs@ меня начали учить жизни, что зеркала быстрее. Ну ох@еть теперь. |
Ну вот в fs@ особо не |
Ну вот в fs@ особо не обсуждали. И тебе именно нужны те, кто померял, я думаю, там их будет куда больше, чем среди твоих читателей. Ну, то есть, вероятность будет больше :) |
Ну типичная нагрузка на |
Ну типичная нагрузка на файлер - она вряд-ли сотни мегабайт потока в единичных потоках? В этой ситуации, понятно, упора в CPU (ну там в подсчет чексум) не будет или будет меньше. |
Ну это верное замечание, но |
Ну это верное замечание, но б) припираться в (новую для себя) рассылку/форум, задавать там вопрос (который, возможно, миллион раз обсуждали уже) - это большой шанс выставить себя идиотом. Ничего страшного в этом нет, ну идиот, бывает, проблема в том, что идиотам по существу не отвечают |
Я бы такое спрашивал в |
Я бы такое спрашивал в списках рассылки даже не Фряхи (хотя можно в fs@), а OpenZFS. |
по моим наблюдениям, запаса |
по моим наблюдениям, запаса CPU у нас обычно есть даже везде включить lz4. А вот памяти много не бывает, и latency там, кажется, играют большую роль чем потоковая скорость. Но -- надо ставить эксперименты. |
*того |
*того |
Не понимаю! |
Если есть специальный кондишн, откуда брал пыль сис. блок?! |