Сравнение ZFS, XFS и ext4

()

Проведем сравнение работы файловых систем XFS и EXT4 в Linux с ZFS в OpenSolaris. Воспользуемся компьютером с процессором Athlon 64 (2200MHz) с 1GB памяти и 8 400GB дисков на Areca ARC-1220 SATA контроллере. Используем Linux 2.6.22.5 и OpenSolaris 5.11 snv_70 "Nevada".

Тестировались внутреннее внешнее устройство журнала и программный и аппаратный RAID. Программный RAID - "raid-10 near2" из 6 дисков на Linux. В Solaris zpool создана с 3 зеркалами каждого из 2 дисков. Аппаратный RAID использует Areca's RAID-10 и в Linux и в Solaris. Кеш устройства отключен, но кеш питания в контроллере работает, когда используется аппаратный RAID. Если использовался внешний журнал, он был на отдельном диске с отключенным кешированием записи. Система устанавливалась на отдельный диск, который не участвовал в тестировании.

XFS и ZFS были созданы со значениями по-умолчанию. EXT4 создана с параметром -b 4096, чтобы размер блока был 4096, когда используется внешний журнал. Все файловые системы монтировались с отключенным atime. EXT4 монтировалась с дополнительными возможностями.

Для тестирования использовались: Bonnie++ 1.03a, randomio 1.3, FFSB 5.2.1, postmark 1.51, dd, tar, and cpio из состава Linux 2.6.22.5. FFSB и randomio были пропатчены для работы в Solaris, и для использования в Solaris эквивалента Linux O_DIRECT. Тест проходил так:

  1. bonnie++

  2. Копирование ядра Linux на тестируемую файловую систему

  3. Распаковка ядра

  4. dd if=/dev/zero of=bigfile bs=1048576 count=4096

  5. randomio bigfile 10 .25 .01 2048 60 1

  6. find linux-2.6.22.5 | cpio -pdm linux

  7. postmark 1, 10, and 100

  8. ffsb read, write, mixed, and huge

  9. tar -cf linux.tar linux

Результаты представлены ниже. EXT4 быстра для операций с метаданными, tar, untar, cpio, и postmark. EXT4 намного быстрее чем другие в FFSB. EXT4 с аппаратным RAID и внешним устройством журналом. Но похоже плохо взаимодействует с программным RAID, возможно из-за невозможности mkfs выяснить структуру RAID при установке параметров файловой системы.

ZFS показала превосходную работу в тестах метаданных. ZFS очень плоха в последовательных передачах с аппаратным RAID и ужасна при последовательной передаче с программным RAID. ZFS может скопировать исходные коды ядра Linux всего за 3 секунды! ZFS равную задержку для запроса чтения и записи в смешанном режиме, что хорошо.

XFS показала хорошую последовательную передачу в Bonnie++. Странно, но XFS показала лучше последовательное чтение при использовании внешнего журнала. noatime не работает на XFS? XFS очень медленная во всех тестах метаданных. XFS получает правильную структуру RAID и это позволяет показать хорошие результаты в randomio с аппаратным и программным RAID.

Похоже контроллер Areca имеет некоторые проблемы с большими запросами. "huge" FFSB производит чтение и запись блоками по 1MiB. Аппаратный RAID показал только половину производительности программного в этом тесте. Чтобы убедиться, что дело не в драйвере Areca для Solaris, я провел последовательную передачу используя dd и скорость стала больше 150MB/s.

bonnie xfs/ int/ sw xfs/ ext/ sw xfs/ int/ hw xfs/ ext/ hw ext4/ int/ sw ext4/ ext/ sw ext4/ int/ hw ext4/ ext/ hw zfs/ int/ sw zfs/ ext/ sw zfs/ int/ hw zfs/ ext/ hw
read MB/s 129 141 202 205 121 120 193 195 53 55 168 166
write MB/s 156 155 187 185 162 176 160 156 95 77 80 80
mixed MB/s 45 46 70 69 53 54 73 71 37 36 54 50
sequential create /s 3874 1887 17307 5238 >99999 >99999 15240 >99999 22975 >99999 >99999 >99999
sequential delete /s 1958 2025 9946 2466 >99999 >99999 >99999 >99999 >99999 >99999 >99999 >99999
random create /s 3909 2208 12599 2754 >99999 >99999 15058 >99999 >99999 22269 >99999 22067
random delete /s 3366 1993 6963 1836 >99999 >99999 >99999 >99999 >99999 >99999 15542 >99999
randomio xfs/ int/ sw xfs/ ext/ sw xfs/ int/ hw xfs/ ext/ hw ext4/ int/ sw ext4/ ext/ sw ext4/ int/ hw ext4/ ext/ hw zfs/ int/ sw zfs/ ext/ sw zfs/ int/ hw zfs/ ext/ hw
create 4GB file MB/s 125 126 110 102 144 143 123 141 76 75 76 65
random io/s 408 381 550 496 192 190 605 609 443 451 304 318
random read latency ms 11 10 22 24 49 49 20 20 23 22 33 31
random write latency ms 66 75 7 7 61 62 6 6 23 24 32 32
random read latency sTD dev ms 11 8 50 52 38 38 54 47 32 27 63 38
random write latency sTD dev ms 54 60 53 53 40 40 56 46 43 61 48 43
ffsb xfs/ int/ sw xfs/ ext/ sw xfs/ int/ hw xfs/ ext/ hw ext4/ int/ sw ext4/ ext/ sw ext4/ int/ hw ext4/ ext/ hw zfs/ int/ sw zfs/ ext/ sw zfs/ int/ hw zfs/ ext/ hw
multi threaded read io/s 534 542 488 488 1079 1058 549 1018 496 511 300 319
multi threaded write io/s 70 98 118 168 66 108 173 175 52 33 145 34
multi threaded mixed io/s 241 282 294 408 316 301 447 601 290 300 282 244
multi threaded mixed huge io/s 4375 4389 3563 3480 7077 7928 3862 4529 6323 5727 2766 3119
kernel xfs/ int/ sw xfs/ ext/ sw xfs/ int/ hw xfs/ ext/ hw ext4/ int/ sw ext4/ ext/ sw ext4/ int/ hw ext4/ ext/ hw zfs/ int/ sw zfs/ ext/ sw zfs/ int/ hw zfs/ ext/ hw
untar kernel s 69 42 11 10 4 5 11 4 15 18 21 18
copy kernel s 194 197 213 212 27 33 70 26 4 3 38 4
tar kernel s 161 162 213 215 8 11 27 7 30 26 31 32
postmark 1 xfs/ int/ sw xfs/ ext/ sw xfs/ int/ hw xfs/ ext/ hw ext4/ int/ sw ext4/ ext/ sw ext4/ int/ hw ext4/ ext/ hw zfs/ int/ sw zfs/ ext/ sw zfs/ int/ hw zfs/ ext/ hw
read KB/s 421 536 1670 781 5340 6680 8900 8900 26710 13360 13360 8900
write KB/s 1310 1660 5300 2420 16970 21210 28280 28280 84830 42410 42410 28280
postmark 10 xfs/ int/ sw xfs/ ext/ sw xfs/ int/ hw xfs/ ext/ hw ext4/ int/ sw ext4/ ext/ sw ext4/ int/ hw ext4/ ext/ hw zfs/ int/ sw zfs/ ext/ sw zfs/ int/ hw zfs/ ext/ hw
read KB/s 515 817 2260 1180 3880 2710 5430 9050 9050 13570 9050 13570
write KB/s 1580 2500 7090 3700 12150 8510 17020 28360 28360 42540 28360 42540
postmark 100 xfs/ int/ sw xfs/ ext/ sw xfs/ int/ hw xfs/ ext/ hw ext4/ int/ sw ext4/ ext/ sw ext4/ int/ hw ext4/ ext/ hw zfs/ int/ sw zfs/ ext/ sw zfs/ int/ hw zfs/ ext/ hw
read KB/s 591 1010 3020 1940 1130 868 13570 9050 6780 9050 9050 9050
write KB/s 1810 3150 9450 6080 3550 2660 42540 28360 21270 28360 28360 28360

Источник

Комментарии:

MooSE 2007-08-31 16:10:50 (#)

Короче ext4 наш выбор:)

Killy 2007-08-31 17:14:38 (#)

Я так и не понял, в каких попугаях это всё, какие версии fs и программ...
Описание команд и тестов явно хромает.

А XFS, начиная вроде с 2.6.10, стала минимум в 2 раза тормознее.

sungreen 2007-09-01 08:32:53 (#)

... Alex, за перевод спасибо ...
... таблица в Источнике более наглядная, удобная для сравнения ...

Alex 2007-09-01 14:48:37 (#)

Таблицу верстал не я, а MooSE, так что спасибо ему :-)
В источнике таблица, может и более наглядная, но у меня, например, она не влезает в экран, хотя у меня разрешение 1280x1024. А этот сайт оптимизирован для разрешения 1024x768, вот и пришлось немного эту таблицу переделать. Тем более что изменилась таблица вроде не так сильно...

MooSE 2007-09-01 15:02:46 (#)

Признаюсь. Таблицу насиловал я. Но я старался запихнуть её в рамки этого сайта. В физическом смысле. Мне казалось что наглядность не потерялась:)

sungreen 2007-09-01 21:20:43 (#)

«Когда у общества нет цветовой дифференциации штанов, то нет цели, а когда нет цели…»
... имно, когда работаешь со строками удаленными от шапки таблицы, то сложно понять какие столбцы нужно сравнивать ...
Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE