FreeBSD ZFS read speed: они убили кенни!
Вчерашний вечер у меня тоже прошел не скучно.
Я взял уже знакомый вам стенд:
- i5-2400, 16GB RAM
- LSI 9211-8i (FW 16.0, IT-mode, без BIOS)
- 7 дисков WD1003FBYX
И начал делать так:
- Скачиваю с ftp.freebsd.org FreeBSD-NN.y-RELEASE-amd64-memstick.img
- Пишу его на флешку
- Загружаюсь с этой флешки (никаких дополнительных настроек!)
- Собственно тестирую:
zpool create -O recordsize=nn ztest raidz2 /dev/gpt/DISK[0-5/6]
zfs create ztest/pool
dd if=/dev/zero of=/ztest/pool/100gfile bs=1m count=100k
dd if=/ztest/pool/100gfile of=/dev/null bs=1m
Ну и записываю результаты в тетрадочку Excel
Были протестированы:
- FreeBSD 10.1, 10.2, 10.3, 11.0, 12-20161130-r309302
- raidz2 из 6 и 7 дисков
- recordsize=128k и =1m (вторая - начиная с 10.2, ибо раньше не поддерживается).
Результаты в таблице:
|
6x HDD, RAIDZ2 |
7x HDD RAIDZ2 |
||
|
Write |
Read |
Write |
Read |
recordsize=128k |
||||
FreeBSD 10.1 |
439 |
441 |
633 |
599 |
FreeBSD 10.2 |
461 |
438 |
563 |
557 |
FreeBSD 10.3 |
469 |
466 |
563 |
614 |
FreeBSD 11.0 |
503 |
462 |
610 |
618 |
12.0-20161130 |
380 |
189 |
415 |
206 |
recordsize=1m |
||||
FreeBSD 10.1 |
N/A |
N/A |
N/A |
N/A |
FreeBSD 10.2 |
462 |
531 |
566 |
637 |
FreeBSD 10.3 |
461 |
504 |
557 |
626 |
FreeBSD 11.0 |
507 |
521 |
621 |
659 |
12.0-20161130 |
515 |
203 |
627 |
281 |
Cобственно, о чем вчера вечером и писалось уже в комментариях: в FreeBSD-CURRENT сломано однопоточное чтение (и лечится оно - увеличением vfs.zfs.zfetch.max_distance до очень больших значений. Кроме того, если сравнивать с предыдущими релизами, то сломана еще и запись блоками в 128к
Comments
Там в src/UPDATING специально
Там в src/UPDATING специально для вас есть абзац на тему "почему так меееедленнооо?".
Я не утверждаю, что в 12 всё хорошо, но так выполнять тестирование как-то неправильно, могут ведь и в phoronix завербовать.
В соседнем треде уже отвечал
В соседнем треде уже отвечал и Белоусову уже отвечал и еще отвечу.
мемстик - понятно, он с отладкой (мемстик взял чтобы быть уверенным, что мои настройки никак не влияют). Но до того я тестировал
GENERIC (с отладкой)
GENERIC-NODEBUG (без отладки)
GENERIC-NODEBUG + увеличенный maxphys (потому что были подозрения что драйвер слишко мелко режет)
И абсолютно одна херня.
https://svnweb.freebsd.org
https://svnweb.freebsd.org/base/head/UPDATING?view=co :
"NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW"
Нет?
Нет.
Нет.
Вот 11.0/11-STABLE (которые без INVARIANTS): http://blog.lexa.ru/2016/12/06/freebsd_zfs_read_11_stable_tozhe_polomana...
Проблема, похоже, вообще в disk layout при записи т.к. файл записанный кривой версией - читается прямой версией медленно.
А если записать прямой - то хорошо.