linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bruce Guenter <lists-linux-ext4@bruce-guenter.dyndns.org>
To: linux-ext4@vger.kernel.org
Subject: ext4 unlink performance
Date: Thu, 13 Nov 2008 12:57:12 -0600	[thread overview]
Message-ID: <20081113185712.GB11204@untroubled.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 1692 bytes --]

Hi.

I started running some comparison benchmarks between ext3 and ext4 this
week.  During one torture test, I observed that ext4 unlink speed is
much slower than ext3, and using 256-byte inodes makes it worse.

The torture test consists of unpacking a large tarball consisting of a
about 725,000 small files in random order and then recursively unlinking
the extracted directory.  The majority of the files in the archive are a
single block, about 15% are span multiple blocks.

The results:

ext4 128 extract: 618.991 elapsed 54.903 user 81.789 sys 22.08%
ext4 256 extract: 671.655 elapsed 55.099 user 74.593 sys 19.30%
ext3 128 extract: 950.965 elapsed 55.155 user 77.473 sys 13.94%
ext3 256 extract: 985.687 elapsed 55.591 user 94.698 sys 15.24%

ext4 beats ext3 hands down, with either inode size.  I would think that
the 128 byte inode runs are faster than the 256 byte inode runs simply
because of the number of small files involved.

ext4 128 unlink: 913.934 elapsed 0.296 user 33.550 sys 3.70%
ext4 256 unlink: 1507.696 elapsed 0.324 user 37.602 sys 2.51%
ext3 128 unlink: 171.150 elapsed 0.244 user 23.825 sys 14.06%
ext3 256 unlink: 360.073 elapsed 0.328 user 27.954 sys 7.85%

Ouch.  Why is ext4 so much slower than ext3 here, and why is there such
a huge discrepancy between the different inode sizes?  The filesystems
were created with the stock options except for inode size and ^huge_file
(for historical reasons when I was testing with older kernels).

I tested this with Linus's git sources on x86_64 on IDE.  2.6.28-rc4 and
2.6.27 had similar performance.

-- 
Bruce Guenter <bruce@untroubled.org>                http://untroubled.org/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

             reply	other threads:[~2008-11-13 19:03 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-13 18:57 Bruce Guenter [this message]
2008-11-13 19:10 ` ext4 unlink performance Bruce Guenter
2008-11-13 20:42   ` Theodore Tso
2008-11-14  4:11     ` Bruce Guenter
2008-11-14 14:59       ` Theodore Tso
2008-11-14 15:48         ` Bruce Guenter
2008-11-14 15:54           ` Theodore Tso
2008-11-15 20:44         ` Bruce Guenter
2008-11-15 23:08           ` Eric Sandeen
2008-11-16  0:56           ` Theodore Tso
2008-11-16  3:38             ` Bruce Guenter
2008-11-17  0:43             ` Andreas Dilger
     [not found]               ` <20081119024021.GA10185@mit.edu>
2008-11-19 18:10                 ` Andreas Dilger
2008-11-19 21:18                   ` Theodore Tso
2008-11-20 22:49                     ` Bruce Guenter
2008-11-13 19:46 ` Theodore Tso
2008-11-13 20:27   ` Bruce Guenter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081113185712.GB11204@untroubled.org \
    --to=lists-linux-ext4@bruce-guenter.dyndns.org \
    --cc=linux-ext4@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).