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 --]
next 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).