Знакомство с btrfs

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

2009-01-26

назад | к началу | вперед

Прикинем быстродействие

Пользователь ждёт от файловой системы трёх вещей: простоты использования, надёжности и быстродействия, причём порядок приоритетов может меняться в зависимости от задач. Касаемо btrfs — насколько она проста, я рассчитываю поговорить в другой раз, о надёжности можно рассуждать только после проверки временем в различных условиях, в том числе и экстремальных А вот быстродействие её можно прикинуть сразу после установки — то есть после комплекса мероприятий, описанных выше. И разумеется, самое интересное в этой прикидке — это скорость выполнения типовых файловых операций на btrfs в сравнении с прежними нативными файловыми системами Linux и особенно — в сравнении с последним словом науки в этой области — файловой средой ZFS.

Тестовый прикид был тот же самый, что и раньше. Машина — на Intel Core 2 Duo, описанная здесь , только вот "мозгов" у неё чуток поубавилось (осталось всего 4 Гбайт); полигонный винчестер — Samsung SATA о пятистах гигабайтах, с установленным Zenwalk 5.4, на котором располагается и btrfs-раздел. Тестовый набор тоже не изменился: каталог классической музыки, сконкатенированный из пяти серий в единый файл "Адьютант его превосходительства", iso-образ Xubuntu и дерево портежей Gentoo, последовательно подвергавшиеся копированию и удалению. Короче, всё, как описано в Последнем тестировании и последующих заметках ZFS против всех и ZFS на двух дисках .

Правда, всё, о чём будет говориться далее, нельзя считать сравнительными тестами в полном смысле: во-первых, немного изменилось "железо", во-вторых, проводилось лишь двукратное повторение тестовых операций, единственно для исключения флуктуаций, в-третьих, все измерения проводились в рабочей среде — то есть под Иксами в терминальном окне XFce. Собственно, мне и хотелось на скорую руку получить чисто качественную картину — насколько btrfs по быстродействию вписывается в некие усреднённые рамки, очерченные остальными файловыми системами. И стоит ли с ней возиться дальше.

Впрочем, все "смягчающие" обстоятельства нынешнего квази-тестирования как раз btrfs ставили в невыгодное положение относительно прочих файловых систем. Тем более показательны результаты, которые она продемонстрировала.

Так вот, результаты эти можно видеть в таблице 1 и на серии диаграмм. В качестве сравнительного материала сравнения приведены данные для файловых систем ZFS под FreeBSD (пул на одиночном диске), и файловых систем Linux — ext2fs, ext3fs (смонтирована в режиме ordered) и reiserfs (смонтирована с опцией notail), все также на индивидуальных дисковых разделах. Результаты для XFS в аналогичных условиях из диаграмм исключены, поскольку, как мы уже видели ранее , не лезут ни в какие ворота.

Таблица 1. btrfs против равных

Операция Копирование Удаление
Объект Музыка Portage Avi Iso Portage
btrfs 00:07 00:24 01:25 00:17 00:22
ZFS 00:12 00:29 02:30 00:21 00:16
ext2 00:08 01:28 03:09 00:31 00:18
ext3 00:06 01:41 02:36 00:25 00:17
reiser 00:07 01:29 02:37 00:25 00:04
XFS 00:07 16:53 02:36 00:24 10:0

Итак, в тесте на копирование музыкальных файлов btrfs идёт нога в ногу с другими файловыми системами Linux, ощутимо выигрывая у ZFS под FreeBSD (это единственный тест, где ZFS проявила себя не в лучшем виде в предыдущем тестировании).


Рис. 5

На копировании большого (2,7 Гбайт) avi-файла — уверенная победа btrfs над всеми, в том числе и над исключённой из диаграмм XFS, показавшей результаты наравне с reiserfs и остальными.


Рис. 6

На копировании дерева портежей — фотофиниш между btrfs и ZFS, остальные файловые системы далеко позади, а XFS, как можно видеть из таблицы, вообще в глубочайшей... выразимся политкорректно, яме.


Рис. 7

Копирование файла iso-образа (без малого 600 Мбайт) также принесло чистую победу btrfs, ZFS вплотную следует за лидером, прочие отстали (в том числе и неокученная XFS).


Рис. 8

И лишь на удалении дерева портежей btrfs уступает всем остальным участникам соревнования, за исключением XFS, результаты которой опять-таки ниже уровня Каспийского моря.


Рис. 9

То есть можно видеть, что в общем зачёте по очкам btrfs опережает всех конкурентов, причём некоторые из них приближаются в ней по одним показателям, иные же — по другим. И потому возникла такая вот совсем некорректная идея — выпустить эту файловую систему на ковёр против сборной FOSS-мира. То есть — тех файловых систем, которые показали рекордные результаты в каком-либо из тестов. И тут уже снять ограничение весовых категорий — то есть допустить к соревнованиям и файловые системы на мультиустройствах — ZFS на двухдисковом пуле и файловые системы Linux'а на программном RAID level 0. Ведь из предыдущих заметок мы знаем, что в этом случае все они показывают весьма существенный прирост быстродействия.

Результаты, приведённые в талице 2, впечатляют: btrfs на однодисковом пуле лишь немного проигрывает файловым системам на программном RAID, а в одном случае (при копировании портежей) даже немного (скорее всего, в пределах ошибки эксперимента) опережает ZFS на пуле двухдисковом. Конечно, при удалении дерева портежей btrfs оказывается далеко позади reiserfs на программном RAID'е — но надо признать, что и остальные файловые системы тут не блещут в сравнении с последней.

Таблица 2. btrfs против лучших

  Копирование Удаление
Тест Музыка Portage Avi Iso Portage
btrfs 00:07 00:24 01:25 00:17 00:22
ZFS 2 диска   00:25      
reiser RAID 00:02       00:04
XFS RAID     01:12 00:12  


Рис. 10

Ещё раз повторяю, я привел лишь сугубо качественную картину. Однако лично меня она убедила в том, что btrfs — штука весьма стоящая, заслуживающая пристального внимания и глубокого изучения. А когда проянится вопрос с её надёжностью и стабильностью — то и повсеместного применения.

назад | к началу | вперед