Заканчивая неделю ZFS

Заканчивая неделю (или полуторамесячник) ZFS, финальные тесты. Списал данные, добавил еще один диск, прежде чем возвращать данные - маленько потестировал

Оборудование: i3-6300T, 32GB RAM, 7 дисков (6Tb HGST: 4 штуки 7k6000 и 3 штуки He8), диски подключены к чипсетному контроллеру (Intel C236).

Окружение: FreeBSD 11.0-p4

Методика: собираем пул, делаем на нем один датасет с размером блока 1m или 128к, пишем 200-гигабайтный файл
dd if=/dev/zero of=/zdata/testset bs=1m count=200k
Затем читаем этот файл той же командой dd в /dev/nul с мегабайтным же размером блока.

Из 6 или 7 дисков можно составить разные комбинации, я пробовал не все, меня интересовал в первую очередь raidz2, остальные - ну "до кучи". Результаты в таблице - в десятичных мегабайтах (10^6 байт):

 

recordsize=1m

recordsize=128k

Конфигурация

read

write

read

write

6xHDD, RAIDZ2

753

735

747

737

7xHDD RAIDZ3

757

732

773

735

7xHDD RAIDZ2

902

919

767

849

7xHDD RAIDZ1

1,005

579

1,012

1,064

7xHDD stripe

1,276

1,284

1,217

1,282

Жирным выделены результаты, которые мне не понравились (слишком медленно) и я перетестировал второй раз. Они повторились (ну с точностью в 2-3%)

За исключением выделенного и вообще всей строчки 7xHDD, RAIDZ1, скорости "в расчете на один шпиндель" очень близки, 183-193 MB/s на шпиндель, что довольно близко к тому, что можно получить с дисков He8 (196Mb/sec в начале диска). У 7-дискового raidz1 пишут в комментариях про неудачный паттерн.

Отчего так просели выделенные места - не знаю, неудачно встали звезды (размазались размеры I/O по дискам).

 

Comments

Не, ту в самом деле, это первый раз я такое в этом блоге читаю: "звезды неудачно встали"!
За что и читал всегда что как в детективе - всегда расследование завершалось и перед нами представала картина преступления во всех красках ;)

Если бы эта конфигурация меня интересовала - я бы разобрался бы, ну или бы попробовал.
Но у меня 7xhdd,raidz2 а у него все хорошо (на большом размере записи).

Реально ZFS шибко сложная и оптимизации там шибко умные, поэтому неудачная конфигурация (интерференция с оптимизацией) может укусить.

753/4=188MB/s и 188/195=96% - очень хороший результат. Подкрутил "гайки" или удачно "использовались" 4 7k6000 и 2 HE8?
Табличка получилась красиво-показательная. А как raidz2 справляется с 2 потоками чтения?

Гайки не крутил, пока отложил. "стоковая" FreeBSD 11.0-p4

Два потока чтения, или один поток записи + 1 чтения - относительно комфортны. Видно что на сервере кто-то еще есть, но одновременно писать 400 (источник больше не может) и читать ~150 получается.

(вернувшись из 23-х дней во Вьетнаме, за которые мы нифига не посмотрели и 1/3 страны)
А ты вообще вот то, что выглядит как сломанное (предыдущие посты) отрепортил?

починили уже

А ссылки на коммит под рукой нет? Я могу, конечно, весь лог прошерстить, но может у тебя она вот прямо рядом?

Вроде вот: https://svnweb.freebsd.org/base?view=revision&revision=310105

Но я больше не играю в -stable/-current, поэтому не проверял