Релиз ФС Hammer 5. Сравнение производительности Hammer, ZFS, UFS, EXT3, EXT4 и Btrfs.

11.01.2011 10:48

В DragonFly BSD осуществлен переход с четвертой на пятую версию файловой системы Hammer, которая отличается поддержкой объединения дубликатов данных. Одновременно началась работа над шестой версией Hammer, в которой планируется реализовать новый метод хэширования директорий.

Ресурс Phoronix представил результаты тестирования производительности файловых систем Hammer v4, ZFS, UFS, EXT3, EXT4 и Btrfs.

  • В тесте на чтение данных BlogBench ФС Hammer заметно отстала от других ФС;
  • В тесте BlogBench на запись - ФС Hammer заметно обогнала UFS и ZFS, немного уступив Btrfs и значительно отстав от Ext3 и Ext4;
  • В тесте на скорость упаковки Gzip-архивов, ФС Hammer обогнала ZFS, но немного отстала от остальных ФС;
  • В тесте PostMark ФС Hammer обогнала UFS, немного отстала от ZFS и EXT3 и сильно отстала от Ext4 и Btrfs;
  • В тесте на скорость распаковки исходных текстов Linux-ядра ФС Hammer была на уровне ZFS, немного отстала от EXT3 и EXT4, но существенно обогнала UFS.
  • В тесте случайной записи данных Threaded I/O Tester, ФС Hammer уступила только ZFS и Btrfs, заметно обогнав UFS, EXT3 и EXT4.

Matthew Dillon, основатель проекта DragonFly BSD, прокомментировал результаты тестов, например, показал, что тест на чтение BlogBench очень сильно зависит от размера кэша ФС. Также было показано, что некоторые тесты записывают не случайный набор данных, а предопределенные блоки, что демонстрирует повышение производительности ФС, поддерживающих сжатие и дедублицирование данных. Тест gzip в значительной мере оценивает производительность CPU и зависит от использования GNU или BSD-варианта утилиты gzip. Результаты теста postmark сильно зависят от корректности выполнения операций fsync(), в то время как ФС Ext4 и Btrfs полноценно не обрабатывают данный вызов.

Дополнение: Matthew Dillon также высказал некоторые идеи по оптимизации производительности ФС Hammer и уже совершил ряд коммитов с реализацией данных оптимизаций (1, 2, 3).