FreeBSD: ZFS vs UFS, и обе-две — против всех

Алексей Федорчук

2008-09-17

назад | к началу

Результаты этих процедур приведены в таблице 1. В ней же даны заимствованные из предыдущей заметки сравнительные данные для файловых систем Linux — ext2 и ext3 (ordered) с параметрами монтирования по умолчанию, reiser с опциями монтирования notai,noatime, размещённых на дисковых разделах.

Таблица 1. Сравнительное быстродействие файловых систем UFS2, ZFS, ext2, ext3 и ReiserFS

Тест Копирование Удаление
Действия Всё Музыка Портежи Avi Iso Портежи Всё
UFS2 02:28 00:07 01:09 02:55 00:29 00:22 00:17
ZFS 02:50 00:12 00:29 02:30 00:21 00:16 00:15
Ext2 05:10 00:08 01:28 03:09 00:31 00:18 00:20
Ext3 04:37 00:06 01:41 02:36 00:25 00:17 00:43
ReiserFS 04:22 00:07 01:29 02:37 00:25 00:04 00:09

Первое, что бросается в глаза при обращении к таблице 1 и серии иллюстрирующих её диаграмм (рис. 1-5) — то, что современные SATA-диски наконец-то позволили преодолеть вековое отставание UFS от файловых систем Linux: для всех операций над всеми объектами быстродействие их оказалось сопоставимым, а в некоторых случаях UFS2 вырвалась вперёд.

Последнее особенно ощутимо для операции валового копирования с раздела на раздел. Напомню, что раздел-источник располагался на другом диске и нёс на себе файловую систему ZFS. Сочетание этих факторов, видимо, и определило столь значительный отрыв от аналогичной операции для файловых систем Linux, где валовое копирование выполнялось между разделами, лежащими на одном диске, а раздел-источник нёс на себе файловую систему ext3 (ordered): при копировании массива данных на файловые системы Linux, лежащие на программном RAID'е, преимущество UFS (и ZFS) оказывается не столь явным.


Рис. 1. Копирование музыкальных файлов


Рис. 2. Копирование дерева портежей


Рис. 3. Копирование avi-файла


Рис. 4. Копирование iso-файла


Рис. 5. Удаление дерева портежей

Так что очень большого значения абсолютным цифрам при сравнении UFS с файловыми системами Linux я придавать не буду. Ограничившись констатацией того факта, что их быстродействие стало сопоставимым. Правда, похоже, что заслуга в этом не файловой системы FreeBSD: просто современные "винты" с их быстро считываемыми пластинами и огромными встроенными кэшами, подобно револьверу Кольта, уравняли шансы.

А вот про сравнительное быстродействие UFS2 и ZFS сказать стоит: тут различия нельзя списать на повышение производительности железа. А различия, я думаю, видны из табл. 1 и рис.1-5. И они по большинству показателей явно в пользу ZFS. Для подтверждения этого я провел еще несколько измерений — теперь уже только для файловых систем FreeBSD при условиях, только что описанных:

  • развёртывание архива портов FreeBSD (архив tar.gz, 40 Мбайт) последовательно на UFS- и ZFS-разделы
  • копирование экстрактированного дерева портов (200 Мбайт суммарно);
  • удаление копии каталога с деревом портов.

Результаты измерения времени, затраченного на эти манипуляции (они не вполне идентичны манипуляциям над деревом портежей Gentoo вследствие различия их внутреннего устройства) приведены в таблице 2.

Таблица 2. Время выполнения операций над деревом портов FreeBSD в файловых системах UFS2 и ZFS

Порты Untar Copy Delete
UFS2 00:47 01:53 00:27
ZFS 00:12 00:31 00:17

Даже в табличном виде производит впечатление, не так ли? А уж в графическом воплощении — просто ошеломляет (рис. 6).


Рис. 6. Операции над деревом портов FreeBSD, UFS2 и ZFS

И потому, даже на фоне возрастания скорости файловых операций в UFS2 за счет роста быстродействия винчестеров и вообще нивелирующего влияния оных, у нас не возникает вопроса, какое пиво пить. Возникает другой вопрос: кто бежит за водкой?

Да, файловая система ZFS во FreeBSD имеет статус экспериментальной, и надёжность её в этой операционке, в отличие от родного для неё Solaris'а, еще не проверена временем. Но ведь это не более, чем вопрос времени, и я думаю, что не столь уж длительного. Так что если промышленное применение ZFS на критически важных серверах — штука пока рискованная, то уж использовать её в личных целях на домашних машинах можно вполне. При условии регулярного резервного копирования жизненно необходимых данных, разумеется. Но эту процедуру не отменяли ещё никакие достижения в области построения файловых систем...

назад | к началу