Slashdot Mirror


Benchmarking Linux Filesystems In New 2.6 Kernel

An anonymous reader writes "KernelTrap has an interesting article about a recent benchmark conducted to compare five journaling filesystems available with the current 2.6.0-test2 Linux development kernel. The tests were conducted with a very simple shell script, mainly timing how long it takes to copy, tar, and remove directories. Looks like reiser4 is the fastest filesystem at the expense of consuming much more CPU, with ext3 trailing a ways behind."

14 of 56 comments (clear)

  1. karma for Anonymous Coward by Anonymous Coward · · Score: 5, Informative

    The first item number is time, in seconds, to complete the test (lower
    is better). The second number is CPU use percentage (lower is better).

    reiser4 171.28s, 30%CPU (1.0000x time; 1.0x CPU)
    reiserfs 302.53s, 16%CPU (1.7663x time; 0.53x CPU)
    ext3 319.71s, 11%CPU (1.8666x time; 0.36x CPU)
    xfs 429.79s, 13%CPU (2.5093x time; 0.43x CPU)
    jfs 470.88s, 6%CPU (2.7492x time 0.20x CPU)

    What's interesting:
    * ext3's syncs tended to take the longest 10 seconds, except
    * JFS took a whopping 38.18s on its final sync
    * xfs used more CPU than ext3 but was slower than ext3
    * reiser4 had highest throughput and most CPU usage
    * jfs had lowest throughput and least CPU usage
    * total performance of course depends on how IO or CPU bound your task is

  2. Speed is not of the essence by mnmn · · Score: 5, Informative

    There are other things about filesystems us sysadmins to know about. Which is the most stable and crashproof filesystem? Ive suspected it to be XFS from which I recovered data after doing dd if=/dev/zero of=/dev/hda1 count=2048576

    Also what filesystem would require the lest or no syncing at all? Befs?

    In server environements with stripped 15K cheetah SCSI drives, you'd worry more about stability than speed.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
  3. Re:fs issues by BrokenHalo · · Score: 5, Informative
    I don't know about 2.6 yet, but Reiserfs hasn't let me down so far.

    For a long time I resisted moving away from ext2, as I didn't want the journalling overhead and didn't mind the occasional e2fsck. After I got a few power outages I changed my mind :-) but I haven't been disappointed with Reiserfs' speed.

  4. Kerneltrap on new server.. by molo · · Score: 3, Informative

    FYI, kerneltrap just moved to a new server (this week!). It used to be run on Jeremy's DSL line, which was why it would get shot to shit whenever it got slashdotted.

    Now its in a colo on new (fast) hardware (paid for by users' donations), and upgraded to drupal 4.2 (faster here too).

    So slashdot away!

    -molo

    --
    Using your sig line to advertise for friends is lame.
  5. Blah... This was on lkml... by j.e.hahn · · Score: 5, Informative

    And a number of people complained that it wasn't a great benchmark. Hans Reiser admitted it was just a quickie, and I forget who it was that said it, but ext3 has some performance enhancements that are on the cusp of merging into Linus' tree from the -mm kernels.

    Wait until 2.6 is out folks. These numbers are still open for mass fluctuation.

  6. Oracle posted some stats by Stone316 · · Score: 5, Informative

    With respect to filesystems and database performance. EXT3 came out on top.

    --
    "Thanks to the remote control I have the attention span of a gerbil."
    1. Re:Oracle posted some stats by nyteroot · · Score: 2, Informative

      In that article, 4 filesystems are used: ext2, ext3, ResiserFS, and JFS. However, Reiser4, which is the clear leader in these benchmarks, was not tested.

      --
      Ratio of replies to old sig content : replies to actual post content > 0.5. Sig changed.
  7. Because people use Linux at work too. by tdyson · · Score: 2, Informative

    I care about performance because I have a few hundred thousand files on servers that 100 employees need to access. Caching will only get you so far when you have a lot of people going after a lot of files through out the day. Since we have the choice of which fs to use, it is nice to have more info to pick between them.

    There is more to this world than home users and databases.

  8. One word: Maildir by Gothmolly · · Score: 2, Informative

    If I have 2500 4k files in a directory, and my filesystem uses a stupid algorithm to store that information, it might take 2 or 3 times longer to retrieve a list of files than it does on a decent filesystem. When you've got a webmail frontend to your Maildir, and your webmail code has to grope through all directories, all files, even small differences are HUGE. Clever FS design will win the day.

    --
    I want to delete my account but Slashdot doesn't allow it.
  9. Re:Stupid question by Arandir · · Score: 2, Informative

    When you're streaming a file, you're streaming a single file. All file systems will be roughly equivalent at this point. After all, once the harddrive has seeked to the starting sector, odds are very high that the data will be contiguous.

    Where you want the efficiency is when you have to deal with a large number of files. For example, I use UFS on FreeBSD. Before I used softupdates, untarring the ports tree severly bogged down the system, because there were tens of thousands of very small files. But after I turned on softupdates, the same operation was extremely fast. But moving a single large file around (tarball of my homedir) didn't make any difference if softupdates was on or off.

    --
    A Government Is a Body of People, Usually Notably Ungoverned
  10. Re:Incomplete comparison? by p3d0 · · Score: 3, Informative
    I disagree. Consider:
    • FS1: 1sec CPU time, 1sec IO time. CPU usage=50%.
    • FS2: 2sec CPU time, 6sec IO time. CPU usage=25%.
    FS1 is undoubtably better. It consumes less CPU and IO time. Yet noobs would complain about the high CPU usage of FS1. The truth is, CPU usage is higher only because IO is more efficient.

    I can think of no corresponding pathological case in which CPU load would be a more appropriate predictor than CPU time.

    if you have a mostly idle CPU and your task is more & more waiting for the disk to complete, you don't care about 11 or 30 % if the other 89 or 70 % of the CPU are idle.
    Exactly. That's why CPU load doesn't matter.
    Comparing CPU cycles needed is NOT a fair benckmark, unless your task is CPU _AND_ IO Bound
    No, CPU cycles matters for CPU-bound tasks. I think that's pretty self-evident.
    (if it's not io bound, take whatever fs you have, it doesn't matter.)
    Wrong. In a compute-bound task, CPU time adds directly to the total execution time of the task, so you should choose the FS with the lower total CPU time.
    --
    Patrick Doyle
    I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
  11. JFS's figures by Anonymous Coward · · Score: 1, Informative

    One thing not mentioned in the kerneltrap discussion is the fact that JFS uses lazy allocation, and a complete dissociation of inum and block number. Under JFS, data space on disk isn't allocated until it's ready to be flushed from the buffer, which accounts for the 38 seconds of sync time at the end of the tests.

  12. Re:quick question by perlchild · · Score: 2, Informative

    Some of that however, has nothing to do with FS design though, browser start speed has dns components, thread starting, tuning. OS booting also has lots more factors than just the filesystem(on one of my systems, using XFS, even a dirty start and fsck of five filesystems, the part before the fsck is only 1% of the start of the machine, why? dns resolution by the daemons I need started near the end of boot)

  13. Some XFS performance tweaks by Simon+Kongshoj · · Score: 2, Informative

    Greetings gentlebeings,

    Since I recently reinstalled my Debian system, I decided to put some effort into implementing my filesystems right. I decided on XFS for various reasons, mainly that it has always been rock solid for me (I've had some problems with ReiserFS causing heavy data corruption -- it's a long time ago and they've undoubtedly improved the system since, but still I prefer XFS since I've never even once had a problem with it, and know nobody who has), and that its good large-file performance is more useful to me than Reiser's kickass small-file performance. Also EAs and ACLs are neat. What sucks about XFS is poor small-file performance and abysmal delete performance.

    Anyways, I made a few bonnie++ runs and messed around with some of the many mkfs and mount options of XFS. In the end, my tweaked XFS filesystems beat ext3 (mode=ordered) for delete performance, which was a substantial improvement over a standard XFS mount.

    I made a writeup about the whole procedure at Everything2. Go slashdot the poor bastards. Warning: The language is tailored to the fact that not all E2 users are geek hardcore.

    --
    Six sick .sigs, the Number of the Beast!