Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Файловые системы Linux

Сравнение файловых систем ext3, reiser, xfs, jfs под Debian Etch

Оригинал: Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch
Автор: hansivers
Дата: 21 апреля 2006
Свободный перевод: Алексей Дмитриев
Дата перевода: 15 мая 2010

В Сети можно найти множество сравнительных исследований всевозможных файловых систем, применяющихся для Линукс. Но в большинстве своем они смехотворны, так как либо построены на высосанных из пальца тестах, либо проводились на старых ядрах Линукс.

Данный сравнительный анализ основан на 11 задачах, взятых из реальной жизни и проведенных на сервере со старым "железом" (Pentium II/III, жесткий диск EIDE).

Характеристики

Железо:

  • Процессор: Intel Celeron 533
  • RAM : 512MB RAM PC100
  • Материнская плата: ASUS P2B
  • Винчестер: WD Caviar SE 160GB (EIDE 100, 7200 RPM, 8MB Cache)
  • Контроллер: ATA/133 PCI (Silicon Image)

Операционная система:

  • Debian Etch (kernel 2.6.15), дистрибутив обновлен 18 апреля 2006
  • Все "лишние" демоны отключены (cron,ssh,saMBa,etc.)

Файловые системы:

  • Ext3 (e2fsprogs 1.38)
  • ReiserFS (reiserfsprogs 1.3.6.19)
  • JFS (jfsutils 1.1.8)
  • XFS (xfsprogs 2.7.14)

Описание тестовых заданий

Операции с большими файлами (ISO файл, 700Мб)

  • Копировать ISO файл со второго винчестера на тестируемый жесткий диск.
  • Перекопировать ISO файл на другое место тестируемого диска. Удалить обе копии ISO файла.

Операции с деревом файлов (7500 файлов, 900 директорий, 1.9 Гб)

  • Скопировать дерево файлов со второго диска на тестируемый диск.
  • Скопировать дерево в другое место тестируемого диска.
  • Удалить обе копии дерева.

Операции внутри дерева файлов

  • Рекурсивно просмотреть все содержимое дерева файлов и сохранить его на тестируемый диск.
  • Найти файлы, соответствующие заданному шаблону.

Операции с файловыми системами

  • Создать файловую систему (mkfs). Все файловые системы создавались с параметрами по умолчанию.
  • Монтировать файловую систему.
  • Отмонтировать файловую систему.
Последовательность из 11 заданий (от создания файловой системы до ее отмонтирования) была задана в виде скрипта оболочки Bash, который запускался трижды (результат усреднялся). Каждая последовательность занимала около 7 минут. Скорость выполнения теста (в секундах), процент загрузки процессора при выполнении задания, и количество ошибок со страницами памяти (page faults) вычислялись при помощи утилиты GNU time (version 1.7).

Результаты

Вместимость раздела

Начальная (после создания файловой системы) и остаточная (после удаления всех файлов) вместимость раздела вычислялась как соотношение доступных блоков к общему числу блоков раздела.

Ext3 имела худшую начальную вместимость (92,77%), тогда как остальные ФС показали почти полную вместимость (ReiserFS = 99.83%, JFS = 99.82%, XFS = 99.95%).

Интересно, что Ext3 и ReiserFS показали остаточную вместимость равную начальной, в то время как JFS и XFS теряли около 0,02% первоначальной вместимости. Этот факт подтверждает, что обе эти файловые системы могут динамически увеличиваться, но не могут полностью вернуться в первоначальное состояние и к первоначальному размеру после удаления всех файлов.

Вывод: Для достижения максимальной вместимости раздела выбирайте ReiserFS, JFS или XFS.

Создание, монтирование и отмонтирование файловых систем

Чтобы создать файловую систему Ext3 на разделе в 20 Гб потребовалось 14,7 секунд, в то время как для остальных ФС - 2 секунды или того меньше (ReiserFS = 2.2, JFS = 1.3, XFS = 0.7).

Для того чтобы примонтировать ReiserFS потребовалось 2,3 сек, в то время как для других ФС в 5-15 раз меньше (Ext3 = 0.2, JFS = 0.2, XFS = 0.5). Отмонтирование ReiserFS занимало в 2 раза больше времени, чем остальных ФС.

Все ФС показали сравнимую загрузку процессора при создании: от 59% - ReiserFS до 74% - JFS.

Та же картина и при монтировании: от 6% до 9%.

При отмонтировании Ex3 и XFS загрузили процессор в два раза сильнее (37% и 45%), чем ReiserFS и JFS (14% и 27%).

Вывод: Для быстрого создания, монтирования и отмонтирования выбирайте JFS или XFS.

Операции с большими файлами (файл ISO, 700MB)

Первоначальное копирование большого файла медленнее всех производила Ext3 (38.2 сек) и ReiserFS (41.8), по сравнению с JFS (35.1) и XFS (34.8)

При перекопировании на том же диске лидировала XFS (33.1 сек), остальные показали: Ext3 = 37.3, JFS = 39.4, ReiserFS = 43.9.

В сто (!) раз быстрее удаляли большие файлы JFS и XFS (0.02 сек), чем ReiserFS = 1.5 сек и Ext3 = 2.5 сек.

Для копирования все ФС потребовали сравнимой загрузки процессора (от 46% до 51%). Для перекопирования - от 38% до 50%.

Для удаления ISO файла ReiserFS использовала 49% CPU, в то время как остальные ФС около 10%.

Явственно проявилась экономичность JFS в загрузке процессора (от 5 до 10% меньше).

Количество ошибок со страницами памяти (minor page faults) было у всех ФС примерно одинаковым (от 600 - XFS до 661 - ReiserFS).

Вывод: Для быстрых операций с большими файлами выбирайте JFS или XFS. для экономии CPU отдайте предпочтение JFS.

Операции с деревом файлов (7500 файлов, 900 директорий, 1.9GB)

Первоначальное копирование дерева файлов быстрее всех совершили Ext3 (158.3 сек) и XFS (166.1), в то время как ReiserFS и JFS показали 172.1 и 180.1 соответственно.

Схожи и результаты перекопирования на том же диске. Победила Ext3 (120 сек), остальные показали: XFS = 135.2, ReiserFS = 136.9 и JFS = 151.

Удаляла дерево файлов дольше всех Ext3 (22 сек), против ReiserFS (8.2 сек), XFS (10.5 сек) и JFS (12.5 сек)!

Все ФС примерно одинаково загружали процессор при копировании (от 27% до 36%) и перекопировании (от 29% - JFS до 45% - ReiserFS).

Удивительно, что для удаления дерева файлов ReiserFS и XFS загружали процессор существенно сильнее (86% и 65%), чем Ext3 и JFS (около 15%).

И снова проявилась неприхотливость JFS к ресурсам процессора по сравнению с остальными ФС.

По количеству ошибок со страницами памяти уверенно лидировала ReiserFS (всего = 5843), по сравнению с остальными ФС (от 1400 до 1490). Это следствие большего количества ошибок ReiserFS (в 5 -20 раз) при копировании и перекопировании дерева файлов.

Вывод: Для быстрых операций с большим деревом файлов выбирайте Ext3 или XFS. Тесты многих авторов свидетельствовали о преимуществе ReiserFS при операциях с большим количеством маленьких файлов, однако представленные результаты тестов с деревом, содержащим тысячи файлов различного размера (от 10 Кб до 5 Мб) показывают, что Ext3 или XFS лучше подходят для работы в реальных условиях сервера. Даже притом что JFS снижает загрузку процессора, она работает с большим деревом файлов с заметными задержками.

Просмотр директорий и поиск файлов (использовалось предыдущее дерево файлов)

Для полного рекурсивного просмотра дерева файлов потребовалось: ReiserFS - 1.4 сек, XFS - 1.8 сек, Ext3 - 2.5 сек, JFS - 3.1 сек.

Сходные результаты и по поиску файлов. Лидируют ReiserFS (0.8 сек) и XFS (2.8), против Ext3 (4.6) и JFS (5 сек).

Ext3 и JFS показали сходную загрузку процессора при просмотре дерева (35%) и при поиске файлов (6%). XFS требовала больше CPU для просмотра директорий (70%), и сопоставимое количество (10%) при поиске файлов. ReiserFS оказалась самой загружающей процессор ФС с 71% при просмотре и 36% при поиске файлов. И снова у нее в три раза больше ошибок со страницами памяти (всего = 1991) чем у остальных ФС (704 - 712).

Вывод: Можно подразделить файловые системы на две группы: А - быстрые и ресурсоемкие (ReiserFS и XFS), и В - медленные и экономичные (ext3 и JFS). XFS является хорошим компромиссом - достаточно быстрая, с умеренным потреблением ресурсов процессора и приемлемым количеством ошибок со страницами памяти.

Подведение итогов

Результаты тестирования подтверждают выводы других подобных исследований о пониженной вместимости разделов с Ext3, увеличенным временем монтирования ReiserFS, и малой скоростью создания Ext3. Также подтверждено малое потребление ресурсов процессора JFS. Кроме того, данное исследование впервые зафиксировало повышенное число ошибок со страницами памяти (page faults) при выполнении ReiserFS большинства обычных задач.

По результатам данного тестирования, XFS является наиболее подходящей файловой системой для домашнего или небольшого профессионального сервера, так как:

  • Она обеспечивает максимальную вместимость ваших жестких дисков.
  • Она быстрее всех создается, монтируется и отмонтируется.
  • Она быстрее других оперирует с большими (больше 500Мб) файлами.
  • Она на втором месте по скорости операций с большим количеством мелких и средних файлов.
  • Она демонстрирует хорошее соотношение CPU - скорость при операциях просмотра больших директорий и поиска файлов.
  • Она не является самой CPU-сберегающей ФС, но вполне умеренно потребляет ресурсы машины со старым "железом".


Средняя оценка 4 при 1 голосовавших