Свежие комментарии

Title Comment
Ну да, и на то есть kernconf

Ну да, и на то есть kernconf=GENERIC-NODEBUG

Там в src/UPDATING специально

Там в src/UPDATING специально для вас есть абзац на тему "почему так меееедленнооо?".
Я не утверждаю, что в 12 всё хорошо, но так выполнять тестирование как-то неправильно, могут ведь и в phoronix завербовать.

Там гораздо больше, чем

Там гораздо больше, чем только WITNESS/INVARIANTS. В GENERIC/head:

# For full debugger support use (turn off in stable branch):
options BUF_TRACKING # Track buffer history
options DDB # Support DDB.
options FULL_BUF_TRACKING # Track more buffer history
options GDB # Support remote GDB.
options DEADLKRES # Enable the deadlock resolver
options INVARIANTS # Enable calls of extra sanity checking
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
options WITNESS # Enable checks to detect deadlocks and cycles
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones

upd: вспомнил еще, в прошлый

upd: вспомнил еще, в прошлый подход к снаряду я сравнивал
GENERIC
GENERIC-NODEBUG
GENERIC-NODEBUG + увеличенный MAXPHYS

И принципиальной разницы (скорость чтения то падает ВДВОЕ) не увидел.

Где - "там"?

Где - "там"?
Вы говорите о каком-то наборе кадров, но я не понимаю о каком.

upd: скриншот выше по ссылке увидел, но сами кадры бы....

Да, тут ядро без WITNESS

Да, тут ядро без WITNESS/INVARIANTS

А вот тесты с memstick (следующая запись) - ну какой был мемстик, такой и был. То есть 12-current там с отладкой. Но качественно на результат это не влияет.

test_all - в предыдущий раз я

test_all - в предыдущий раз я давал файл-задание fio для одновременного последовательного чтения со всех дисков.
С записью согласен. Верхний потолок - производительность самого медленного диска в raidz2 умножить на количество дисков в raidz2 минус 2. И ещё всё таки минус затраты на запись метаданных. Здесь наверно можно поиграться их уменьшить, но выигрыш наверно будет исчисляться единицами процента. При измерении dd нужно учитывать, что после показа завершения записи на диски может продолжаться запись ещё несколько секунд (writeback).
По чтению почти согласен :-). Думаю нужно обращать внимание не на метаданные, а на расположение контрольных блоков. Моё предположение, что для конфигурации raidz2 в 7 дисков потолок последовательного чтения будет приблизительно равен потолку записи или немного больше, а вот для 6 (что то мне подсказывает) возможно и значительно больше потолка записи.

Как и всегда в HEAD, в ядре

Как и всегда в HEAD, в ядре 12 по дефолту включена куча дебага, которая негативно влияет на производительность. Точно весь дебаг повыкидыван из ядра перед тестами?

zfs позиционируется, как

zfs позиционируется, как универсальная файловая система. Поэтому должна бы в принципе настраиваться под любую нагрузку. По моему же личному мнению/опыту некоторые сценарии/патерны на ней скажем так "не очень". Возможно моё мнение и субъективно :-).
Для настройки последовательного чтения в zfs разработан блочный префетч (который всегда выключен по умолчанию), довольно навороченный файловый префетч. Для зеркала предусмотрено/разработано почти удвоение скорости последовательного чтения. В шедуллере выделена отдельная очередь для предвыбираемого последовательного чтения. Всё это регулируется/настраивается. Теперь вопрос - у какой файловой системы есть такие развитые средства и самое главное какая комбинация (файловая + рэйд) на любой операционной системе может дать сопоставимый результат по скорости последовательного чтения? Вот для примера, прямо сейчас с работающего круглосуточно пула (из 4 дисков - 2 диска со скоростью в начале 195MB/s и два 175MB/s) холодное последовательное чтение большого (32GB) файла 562MB/s, одновременное последовательное чтение двух больших (по 32Gb) файлов 300+290MB/s, повторное чтение (метаданные в кэше) - 640MB/s и 350+342MB/s соответственно.

"Много лет ничего не было", а

"Много лет ничего не было", а было, наоборот, хорошо.

Еще одним блоком четности на

Еще одним блоком четности на отдельном шпинделе, то есть это "как RAID6"

Как-то непривычно повезло.

Как-то непривычно повезло. Обычно я как раз в такие баги люблю влетать. :)

Так там же серия кадров

Так там же серия кадров снятая с зафиксированными диафрагмой и выдержкой (на скриншоте видно экспопару), меняется только ИСО. Я абсолютно согласен что для сравнения это не лучший кадр. Но учитывая что камерный джипег на 6400 выглядит заметно светлее кадра на 3200, а в raw он примерно одинаковый по экспозиции (глянул и в RawDigger) - странно в общем.

Сомневаюсь, что метадата разложится так как нам бы хотелось.

ZFS, вроде, сконструирована именно так, чтобы и данные и метадата (в особенности!) были максимально равномерно размазаны по дискам.

Вы странный...

CURRENT ведь для любителей нетрадиционного секса. А у Вас "боевой "сервер"".
Опытные товарищи строго рекомендуют сидеть на предыдущей мажорной версии FreeBSD.

и я заодно приобщусь к пониманию raidz2

Интересно, чем таким хитрым raidz2 отличается от raidz1?

zfs? Для последовательного чтения??!

Сомнительно, чтобы родная для Солярки ФС затачивалась на последовательное чтение.
Особенно если вспомнить про 16 головок на 1 шпинделе... Про SSD вообще молчу, но для них оптимизаций, может, и нет ещё.

Шутка

Крутите FAT и страйпы.
ZFS - для параноиков а не для Хаккененов.

Я не знаю что такое test_all.

Я не знаю что такое test_all.

6/4, 7/5 это вот что:
- в гипотетической идеальной ситуации мы можем получить при записи на 7-дисковый массив "скорость 5x одиночный диск" (плюс-минус метадата). И примерно столько и получаем, кстати.
- при чтении, если вдруг случайно метадата разлеглась так, что мы ее никогда не читаем - в 7/5 раза быстрее должны бы читать

Ну, главное, что не

Ну, главное, что не потеряется. Но вообще, Гапон как-то пропал совсем, а кто ещё?..

Я завтра сведу это в таблицу

Я завтра сведу это в таблицу и тогда зарепорчу уже.

Я тут весь вечер сижу - скачать memstick-образ, записать на флешку, забутиться, создать пул, прогнать 4 (8 тестов).
10.1, 10.2,10.3,11.0, 12-20161130

А, ну да, у тебя релизная

А, ну да, у тебя релизная ветка, туда мёрджа этого не было.

А вот это я бы уже репортил.

А вот это я бы уже репортил. Учитывая, что ZFS они стараются держать синхронным между ветками и эта регрессия может легко попасть и в 10 и в 11.

Не туда. Покажи zpool list -v

Не туда. Покажи zpool list -v и, главное, zfs-stats -L (из одноимённого порта) Вот моё, недавно перезагружался, так что до 4x уже не дотикало:

> zpool list -v
NAME          SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
zroot        39.9G  11.8G  28.1G         -    48%    29%  1.00x  ONLINE  -
  gpt/root   39.9G  11.8G  28.1G         -    48%    29%
zstor        13.6T  8.53T  5.10T         -    21%    62%  1.00x  ONLINE  -
  raidz1     13.6T  8.53T  5.10T         -    21%    62%
    ada1         -      -      -         -      -      -
    ada2         -      -      -         -      -      -
    ada3         -      -      -         -      -      -
    ada4         -      -      -         -      -      -
    ada5         -      -      -         -      -      -
cache            -      -      -         -      -      -
  gpt/l2arc   185G   370G  16.0E         -     0%   199%
> zfs-stats -L

------------------------------------------------------------------------
ZFS Subsystem Report                            Mon Dec  5 21:47:43 2016
------------------------------------------------------------------------

L2 ARC Summary: (DEGRADED)
        Passed Headroom:                        660.24k
        Tried Lock Failures:                    83.65k
        IO In Progress:                         3.38k
        Low Memory Aborts:                      6
        Free on Write:                          20.72k
        Writes While Full:                      18.32k
        R/W Clashes:                            0
        Bad Checksums:                          974.32k
        IO Errors:                              0
        SPA Mismatch:                           32.31m

L2 ARC Size: (Adaptive)                         370.31  GiB
        Header Size:                    0.02%   62.62   MiB

L2 ARC Evicts:
        Lock Retries:                           76
        Upon Reading:                           0

L2 ARC Breakdown:                               10.81m
        Hit Ratio:                      25.08%  2.71m
        Miss Ratio:                     74.92%  8.10m
        Feeds:                                  235.04k

L2 ARC Buffer:
        Bytes Scanned:                          21.01   TiB
        Buffer Iterations:                      235.04k
        List Iterations:                        939.28k
        NULL List Iterations:                   177.47k

L2 ARC Writes:
        Writes Sent:                    100.00% 187.44k

------------------------------------------------------------------------

>

ну или может у тебя недостаточно новая версия :)

P.S. вместо zfs-stats можно sysctl kstat.zfs.misc.arcstats.l2_cksum_bad

А в 12-current сломан ZFS

А в 12-current сломан ZFS целиком, см. красное предупреждение в посте.

В-общем, надо было не

В-общем, надо было не последовательно идти, а делением пополам.
FreeBSD 10.1, 10.2, 10.3, 11.0 - все зашибись.
12-CURRENT (snapshot от 30 ноября - флешка готовая) - вышеописанная жопа.

Задумался как аккуратно сделать даунгрейд, блин. Но кажется при установленной compat-11 можно (попробовать :)

Под полной

Под полной производительностью пула имелся в виду результат test_all на тестируемом участке. Относительная производительность - это % от неё.
Картинка распределения данных в raidz по дискам от разработчиков довольно известная, вроде даже ты :-) ссылку в этом блоге когда-то давал. Наверняка можно посмотреть распределение блоков по zdb, но наверно твоих результатов достаточно для понимания.
Можно ещё перефразировать - какой результат тебя бы устроил :-) ?
Что имелось ввиду под "6/4 и 7/5"?

Надежнее сравнивать на одной

Надежнее сравнивать на одной сцене (и лучше простой, вроде листа бумаги во весь кадр)

А то маленькое движение, экспонометр подумал свое, ну и

Я вопроса не понял, что такое

Я вопроса не понял, что такое "производительность чтения относительно полной производительности пула"?
raidz2 относительно страйпа что ли?

Для ответа на этот вопрос надо знать внутреннюю организацию данных в raidz2. То есть вот условно говоря, если *вдруг* нам удается организовать данные так, что контрольные суммы и данные лежат "целыми дорожками" (ну там для 7 дисков, на каждом диске "5 дорожек данных, 2 дорожки контрольных сумм", то при такой организации оверхеда можно практически избежать: при нормальном чтении мы никогда не читаем.

Может ли такое наблюдаться на практике - я не знаю. На практике я вижу для некоторых (не самых новых :) версий FreeBSD превышение скорости чтения над записью на 12-14% (для мегабайтной recordsize). В идеальном случае были бы 6/4 и 7/5, такого нет и близко.

Я понимаю, просто закралась

Я понимаю, просто закралась мысль: может разные прошивки в камерах, и они по разному работают. Камерный джипег то отличается как и ожидаем от смены ИСО.

Pages

Subscribe to comments_recent_new