Announcement

Collapse
No announcement yet.

The Performance Of EXT4 Then & Now

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • jwilliams
    replied
    Originally posted by deanjo View Post
    Oh it's not the only reason, the default commit parameter also hurts performance as well.H aving to sync all data and metadata every 5 seconds does carry a pretty big cost.
    But does that hurt READ performance?

    And I thought ext3 already did the 5sec syncs. Wasn't that the big argument with ext4, which was doing ~30sec syncs at first?

    Leave a comment:


  • deanjo
    replied
    Originally posted by jwilliams View Post
    barriers do not explain the 50% drop in 2GB IOZone read performance.

    Also, the article tested with nobarriers in 2.6.33-rc4, and although it helped the TPS for the PostgreSQL test, it still had a significant performance drop.

    I think there must be other important issues than just barriers.
    Oh it's not the only reason, the default commit parameter also hurts performance as well.H aving to sync all data and metadata every 5 seconds does carry a pretty big cost.

    Leave a comment:


  • jwilliams
    replied
    Originally posted by deanjo View Post
    Well the biggest performance hit is barriers. If you wish to have close to Ubuntu's Ext3's performance with EXT4 just mount the filesystem with nobarriers as mentioned
    barriers do not explain the 50% drop in 2GB IOZone read performance.

    Also, the article tested with nobarriers in 2.6.33-rc4, and although it helped the TPS for the PostgreSQL test, it still had a significant performance drop.

    I think there must be other important issues than just barriers.

    Leave a comment:


  • jwilliams
    replied
    Originally posted by jpalko View Post
    However, what I would like to see is a side by side results for all ext2, ext3 and ext4. I guess many people would like to ask for other fs's as well to be added to this side by side test.
    They have already done some of that, although it would be nice to see it updated now with the latest 2.6.33 release candidate. They probably should have linked to these in the intro:

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite


    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

    Leave a comment:


  • deanjo
    replied
    Originally posted by jpalko View Post
    Interesting test results, makes me rethink of my thought to switch to ext4 on my Ubuntu 9.10 desktop from ext3.

    However, what I would like to see is a side by side results for all ext2, ext3 and ext4. I guess many people would like to ask for other fs's as well to be added to this side by side test.
    Well the biggest performance hit is barriers. If you wish to have close to Ubuntu's Ext3's performance with EXT4 just mount the filesystem with nobarriers as mentioned before because pretty much every linux distro out there with the exception of openSUSE defaulted to not using barriers with EXT3. With EXT4 the default is to mount with barriers.

    Leave a comment:


  • jpalko
    replied
    Interesting, but...

    Interesting test results, makes me rethink of my thought to switch to ext4 on my Ubuntu 9.10 desktop from ext3.

    However, what I would like to see is a side by side results for all ext2, ext3 and ext4. I guess many people would like to ask for other fs's as well to be added to this side by side test.

    Leave a comment:


  • movieman
    replied
    Originally posted by jackflap View Post
    I'm pretty certain I read that the original problems with data loss were due to application developers not writing to files properly. Something about depending on the kernel to automatically fsync instead of doing it themselves, but I could be waay off :P
    The problem was not so much that data when missing when you didn't fsync(), it was that you could write to a file, rename it on top of an old file, and then after a reboot discover that your file had been truncated to zero bytes rather than being either the old file or the new file. Given that's been the normal mechanism for anyone needing to perform an atomic update since the Stone Age, for any modern file system _not_ to handle such behaviour cleanly is insane.

    As for fsync(), it's all very well to say you have a wonderfully fast file system because you don't write data out to disk unless you have to, but if that then requires every application to call fsync() any time it writes to the disk in order to ensure that the data will actually be there after a reboot then all your performance gains have just been thrown away.

    Worse than that, fsync() on ext3 with default configuration is slow and unneccesary in most distributions, so suddenly applications have to look at the file system of the computer they're working on in order to determine whether or not they should be calling fsync() all the time; that's mad.

    Lastly, of course, the odds of getting more than a small fraction of application developers to implement fsyncs() properly throughout their code is minute (e.g. even if they're syncing the data files, will they also remember to sync the directory when that's required, and do so in the correct order to ensure that the file contains the correct data?), so why force changes to millions of lines of code when you can just do it once in the file system?

    Leave a comment:


  • jwilliams
    replied
    Originally posted by ssam View Post
    I am confused as to why the read rates suffered. I would assume that data safety is something that only matters in the writing of files.
    Yes! That was by far the most interesting. The IOZone 2GB read test shows a 50% drop in performance starting with 2.6.31. That is the one I would like to see an explanation for.

    Is it an artifact of an imperfect test? Is it real? If real, what caused it?

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

    Leave a comment:


  • loonyphoenix
    replied
    Originally posted by ssam View Post
    I am confused as to why the read rates suffered. I would assume that data safety is something that only matters in the writing of files.
    My thoughts exactly. Why did read times suffer so much?

    Leave a comment:


  • ssam
    replied
    read test

    I am confused as to why the read rates suffered. I would assume that data safety is something that only matters in the writing of files.

    also maybe it is worth comparing the no journalling mode. this was a google contribution to ext4.

    Leave a comment:

Working...
X