экспресс-тест ext3, ext4 dev, reiserfs, reiser4

недавно я восстановил свой второй винчестер. и захотелось перенести на него систему. но встал вопрос: какую файловую систему выбрать? с давних пор я доверял свои файлы reiserfs. было время, когда я использовал reiser4. разные тесты в интернете втолковывают нам абсолютно противоположную информацию. и я решил, что лучший тест — это когда ты его делаешь сам ;)

дисклаймер: я ни в коем случае не претендую на объективность представленной информации. я всего лишь хочу выбрать идеальную файловую систему для СВОЕГО компьютера. буду счастлив, если кому-то мои труды окажутся полезными.

изначально планировалось протестировать ext3, reiserfs, reiser4. но, раз уж представилась такая возможность, я включил в тест еще и ext4dev.

оборудование, на котором производилось тестирование:

Intel Celeron Tualatin 1.3@1.75 / FIC i815EP UDMA100 / 512 SDRAM

1. винчестер №1: SAMSUNG SV3002H [системный]

root@tualatin1750 # hdparm -tT /dev/hda

/dev/hda:
Timing cached reads: 270 MB in 2.01 seconds = 134.24 MB/sec
Timing buffered disk reads: 86 MB in 3.07 seconds = 28.03 MB/sec

2. винчестер №2: FUJITSU MPG3409AH EF [его я и тестировал — был смонтирован на /mnt/test]

root@tualatin1750 # hdparm -tT /dev/hdb

/dev/hdb:
Timing cached reads: 270 MB in 2.01 seconds = 134.64 MB/sec
Timing buffered disk reads: 106 MB in 3.02 seconds = 35.05 MB/sec

система — Gentoo Linux Stage 1, собранный с ACCEPT_KEYWORDS=»~x86″ [нестабильная ветка].
ядро — 2.6.19-rc5-mm2 [Preemptible CFQ]

немного о методике тестирования. измерения проводились под root’ом, без иксов. после каждого пункта теста раздел перемонтировался для очищения кэша. после каждой серии тестов создавалась новая файловая система и компьютер перезагружался. создавался единственный раздел на всем винчестере в 40 гигабайт. опции монтирования я использовал следующие:

ext3 -o noatime

ext4dev -o noatime,extents

reiserfs -o noatime,notail

reiser4 -o noatime

итак, поехали!

первый тест — посмотрим на работу со множеством небольших файлов. конкретнее — на запись. для приближения к реальности, я решил взять папку /usr ;)

time cp -r /usr /mnt/test

ext3 31m53s

ext4dev 31m19s

reiserfs 30m40s

reiser4 29m18s

первый же тест — и победа за reiser4. в принципе, давно известно о быстрой работе ФС-ок от Ханса Рейзера со множеством мелких файлов. посмотрим, что будет дальше.

второй тест — сравниваем скорость удаления множества мелких файлов. удаляем все ту же папку /mnt/test/usr:

time rm -rf /mnt/test/usr

ext3 3m56s

ext4dev 2m57s

reiserfs 0m57s

reiser4 2m32s

и опять — первенство за Рейзером. только на этот раз версии 3.6. ext4dev опять показывает неплохие подвижки по сравнению с ext3.

третий тест — копирование 1 большого файла, коим я выбрал недавно закачанный из осла фильм X-Files.

time cp /mnt/win2000/Downloads/x-files.avi /mnt/test

ext3 0m37s

ext4dev 0m29s

reiserfs 0m37s

reiser4 0m31s

ext4dev потрясающим образом вырывается вперед. найти причину этого мне не удалось, но даже при многократном перемонтировании и перезапуске теста результат оставался идентичным. reiser4 опять на коне.

четвертый тест — смотрим скорость считывания этого же файла. посему просто копируем его в /dev/null =)

time cp /mnt/test/x-files.avi /dev/null

ext3 0m17s

ext4dev 0m17s

reiserfs 0m17s

reiser4 0m17s

как видим, все ФС показывают равную производительность при чтении, что еще раз подтверждает, что ограничивающим фактором в данном случае является пропускная способность интерфейса винчестера и скорость линейного чтения.

далее пошли более реальные задачи.

пятый тест — скорость архивации. какой же линуксоид не любит быстрой езды tar? :) в качестве объекта наших перверсий я выбрал ядро Линукса :)

time tar -cf linux.tar linux-2.6.19-rc5-mm2

ext3 1m16s

ext4dev 1m29s

reiserfs 0m31s

reiser4 0m38s

как говорится, ой! ext4dev серьезно отстает. сказывается еще неотточенный код? возможно. Рейзеры рулят непомерно. reiser4 немножко отстает от своего предшественника.

шестой тест — исследуем скорость распаковки того же самого архива, что только что создавали [саму папку с исходниками я удалил, диск само собой перемонтировал]:

time tar -xf linux.tar

ext3 0m33s

ext4dev 0m27s

reiserfs 0m28s

reiser4 0m14s

отлично! reiser4 ведет с огромным отрывом. ext4dev немного опережает reiserfs. ext3, как всегда, плетется в хвосте.

финальный, седьмой тест — скорость компиляции ядра.

make clean #очищаем исходники =)

export FEATURES=»-ccache» #отключаем ccache — кэш компилятора

time make

ext3 13m48s

ext4dev 13m47s

reiserfs 13m58s

reiser4 15m3s

во-от, где она вылезла — прожорливость рейзера до системных ресурсов, и до ЦП в частности. небольшое разочарование… ну что ж, у самой хорошей вещи есть свои недостатки ;)

конечно, множество пунктов остались нерассмотренными, как то: надежность, ресурсоемкость… но это ведь не последняя редакция документа ;)

а выводы каждый делает для себя. пусть это будет домашним заданием :-D

кому легче смотреть результаты в виде таблицы — вот.

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

  1. Unknown Unknown

    никогда не обращал внимание на скорость фс ;) главное, чтобы работало и не сыпалось при отключении питания, сейчас вот использую ffs, нет журнала, зато есть soft updates. При общем повышении производительности при переходе на openbsd раза в два, понижения скорости работы фс как-то не заметил :)

  2. Unknown Unknown

    А у меня ext3 по старинке, скорость в принципе мало волнующий фактор. А надёжность проверяется очень легко — начинаешь копировать файл и выключаешь питание =)

Отправить ответ

Ваш e-mail не будет опубликован.


*


Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.