LINUX.ORG.RU

ext2 vs. ext3


0

0

Решил посмотреть кто быстрее: ext2 или ext3 на задачах, которые часто делаю. Имеем /usr/src/bench.sh такого содержания:

$ cat /usr/src/bench.sh #!/bin/bash tar -xjf linux-2.6.0.tar.bz2 linux-2.6.0/scripts/patch-kernel /usr/src/linux-2.6.0 /usr/src/patches ( cd linux-2.6.0; make defconfig ) rm -rf linux-2.6.0

В patches лежат патчи, необходимые, чтобы довести дерево 2.6.0 до версии 2.6.3. Как и untarring и rm - очень дисковая операция. Провел бенчмарк два раза: один раз замаунтил ext3 раздел как ext3, потом поменял fstab чтобы она маунтилась как ext2: # change_fstab_to_mount_as_ext3 # reboot # cd /usr/src/ && time ./bench.sh # change_fstab_to_mount_as_ext2 # reboot # cd /usr/src/ && time ./bench.sh

Результаты говорят сами за себя. No comments.

ext3: real 2m48.443s user 0m37.786s sys 0m6.805s ext2: real 1m23.122s user 0m37.366s sys 0m4.965s

Мое мнение: для десктопа лучше ext2 ничего нет. Если у вас есть UPS - смело используйтесь ext2 и наслаждайтесь скоростью. Правда существуют еще экзотические варианты - закрутить журнал на отдельном винте - и тогда журналируемая FS становится быстрее - не знаю, не пробовал.


Решил посмотреть кто быстрее: ext2 или ext3 на задачах, которые часто делаю. Имеем /usr/src/bench.sh такого содержания:

$ cat /usr/src/bench.sh
#!/bin/bash

tar -xjf linux-2.6.0.tar.bz2
linux-2.6.0/scripts/patch-kernel /usr/src/linux-2.6.0 /usr/src/patches
( cd linux-2.6.0; make defconfig )
rm -rf linux-2.6.0

В patches лежат патчи, необходимые, чтобы довести дерево 2.6.0 до версии 2.6.3. Как и untarring и rm - очень дисковая операция. Провел бенчмарк два раза: один раз замаунтил ext3 раздел как ext3, потом поменял fstab чтобы она маунтилась как ext2:
# change_fstab_to_mount_as_ext3
# reboot
# cd /usr/src/ && time ./bench.sh
# change_fstab_to_mount_as_ext2
# reboot
# cd /usr/src/ && time ./bench.sh

Результаты говорят сами за себя. No comments.

ext3:
real 2m48.443s
user 0m37.786s
sys 0m6.805s

ext2:
real 1m23.122s
user 0m37.366s
sys 0m4.965s

Мое мнение: для десктопа лучше ext2 ничего нет. Если у вас есть UPS - смело используйтесь ext2 и наслаждайтесь скоростью. Правда существуют еще экзотические варианты - закрутить журнал на отдельном винте - и тогда журналируемая FS становится быстрее - не знаю, не пробовал.

rihad
() автор топика
Ответ на: комментарий от rihad

А если ext3 во writeback загнать и потестировать? У меня как раз для видеозахвата так сделано. На моей машине отличий (на глаз!!!) от ext2 нет никаких.

Obidos ★★★★★
()

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

У меня дома на "десктопном" компе стоит ext3, на системнике кнопка пуска подсвечивается синим цветом, у детей часто возникает желание нажать на нее. На скорость не жалуюсь, даже не думал об этом.

Vlad_Ts ★★★★★
()
Ответ на: комментарий от Vlad_Ts

> А если ext3 во writeback загнать и потестировать? У меня как раз для
> видеозахвата так сделано. На моей машине отличий (на глаз!!!) от ext2
> нет никаких.

Абсолютно никакой разницы между data=ordered (default) и data=writeback я не увидел для ext3. Столько же секунд. Ядро 2.6.3, dma включено.

> на системнике кнопка пуска подсвечивается синим цветом, у детей часто
> возникает желание нажать на нее.

А если построить с ACPI Button и поставить acpid? От ресета это конечно не спасет, но на синенькую кнопочку можно повесить проигрывание звукого файла а-ля "дети, брысь", желательно с лаем собаки или пронзительным женским криком :))

anonymous
()
Ответ на: комментарий от rihad

Нет уж, дудки! После того как комп повис после очередных экспериментов с ядром или электричество отключили ext2 тестирует себя и ошибки часто бывают. С ext3 - никаких проблем. Нужна скорость - ставь reiserfs.

svyatogor ★★★★★
()
Ответ на: комментарий от svyatogor

> Нужна скорость - ставь reiserfs.

Никто не сказал, что reiserfs быстрее, чем ext3. Один чел постил хотел
 выбрать себе FS, результаты своих сравнений запостил несколько дней 
назад на linux-kernel@ (ищите в архивах). В результате он остановился 
на xfs, а самой быстрой по сырой скорости назвал ext2. Вот полная 
копия письма:


Date: Mon, 01 Mar 2004 23:46:21 -0500
From: Peter Nelson <pnelson@andrew.cmu.edu>
To: linux-kernel <linux-kernel@vger.kernel.org>,
   ext2-devel@lists.sourceforge.net, ext3-users@redhat.com,
   jfs-discussion@www-124.southbury.usf.ibm.com, reiserfs-list@namesys.com,
   linux-xfs@oss.sgi.com
Subject: Desktop Filesystem Benchmarks in 2.6.3

I recently decided to reinstall my system and at the same time try a new 
file system. Trying to decide what filesystem to use I found a few 
benchmarks but either they don't compare all available fs's, are too 
synthetic (copy a source tree multiple times or raw i/o), or are meant 
for servers/databases (like Bonnie++). The two most file system 
intensive tasks I do regularly are `apt-get upgrade` waiting for the 
packages to extract and set themselves up and messing around with the 
kernel so I benchmarked these. To make it more realistic I installed 
ccache and did two compiles, one to fill the cache and a second using 
the full cache.

The tests I timed (in order):
  * Debootstrap to install base Debian system
  * Extract the kernel source
  * Run `make all` using the defconfig and an empty ccache
  * Copy the entire new directory tree
  * Run `make clean`
  * Run `make all` again, this time using the filled ccache
  * Deleting the entire directory tree

Here is summary of the results based upon what I am calling "dead" time 
calculated as `total time - user time`. As you can see in the full 
results on my website the user time is almost identical between 
filesystems, so I believe this is an accurate comparison. The dead time 
is then normalized using ext2 as a baseline (> 1 means it took that many 
times longer than ext2).

FS      deb     tar     make    cp      clean   make2   rm      total
ext2    1.00    1.00    1.00    1.00    1.00    1.00    1.00    1.00
ext3    1.12    2.47    0.88    1.16    0.91    0.93    3.01    1.13
jfs     1.64    2.18    1.22    1.90    1.60    1.19    12.84   1.79
reiser  1.12    1.99    1.05    1.41    0.92    1.56    1.42    1.28
reiser4 2.69    1.87    1.80    0.63    1.33    2.71    4.14    1.83
xfs     1.06    1.99    0.97    1.67    0.78    1.03    10.27   1.43

Some observations of mine
  * Ext2 is still overall the fastest but I think the margin is small
    enough that a journal is well worth it
  * Ext3, ReiserFS, and XFS all perform similarly and almost up to
    Ext2 except:
        o XFS takes an abnormally long time to do a large rm even
          though it is very fast at a kernel `make clean`
        o ReiserFS is significantly slower at the second make (from
          ccache)
  * JFS is fairly slow overall
  * Reiser4 is exceptionally fast at synthetic benchmarks like copying
    the system and untaring, but is very slow at the real-world
    debootstrap and kernel compiles.
  * Though I didn't benchmark it, ReiserFS sometimes takes a second or
    two to mount and Reiser4 sometimes takes a second or two to unmount
    while all other filesystem's are instantaneous.

Originally I had planned on using Reiser4 because of the glowing reviews 
they give themselves but I'm simply not seeing it. It might be that my 
Reiser4 is somehow broken but I don't think so. Based on these results I 
personally am now going with XFS as it's faster than ReiserFS in the 
real-world benchmarks and my current Ext3 partition's performance is 
getting worse and worse.

Full benchmark results, system information, and the script I used to run 
these tests are available from my website here:
<http://avatar.res.cmu.edu/news/pages/Projects/2.6FileSystemBenchmarks>;

Feel free to comment, suggest improvements to my script, or run the test 
yourself.
-Peter Nelson

rihad
() автор топика
Ответ на: комментарий от rihad

Кстати, попробовал то же самое на фре 5.2. На том же железе (celeron 2.4, 256ram, maxtor 30gb 7200rpm).

Результаты поразительны.

tar -xjf linux-2.6.0.tar.bz2
linux-2.6.0/scripts/patch-kernel /root/rauf/linux-2.6.0 /root/rauf/patches
rm -rf linux-2.6.0

ufs2+softupdates: 2m17.68
ext2: 1m0.236
ext3(data=writeback): 1m9.723

Это только что на работе попробовал. Дома у меня что-то не так с ext3, что такие медленные с ней результаты.

rihad
() автор топика
Ответ на: комментарий от rihad

> ext3: real 2m48.443s
> ext2: real 1m23.122s

Моя вина, я использовал старый журнал, созданный еще в 2.4. Случайно в нете натолкнулся на инфу, что в 2.6 лучше журнал создать сызнова, 2.6 более по другому работает с ext3. Пересоздал и ext3 стала намного шустрей, всего на 10-12% медленней чем ext2 на моем "бенчмарке", но никак не вдвое медленней.

Всем у кого ext3 осталась еще со времен 2.4, рекомендуетс персоздать журнал под 2.6 (tune2fs -O ^has_journal; tune2fs -j).

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.