All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Emmanuel Florac <eflorac@intellique.com>
Cc: xfs@oss.sgi.com
Subject: Re: LWN.net article: creating 1 billion files -> XFS looses
Date: Tue, 7 Sep 2010 08:04:10 +1000	[thread overview]
Message-ID: <20100906220410.GD7362@dastard> (raw)
In-Reply-To: <20100906154254.5542426c@harpe.intellique.com>

On Mon, Sep 06, 2010 at 03:42:54PM +0200, Emmanuel Florac wrote:
> Le Thu, 19 Aug 2010 13:12:45 +0200
> Michael Monnerie <michael.monnerie@is.it-management.at> écrivait:
> 
> > The subject is a bit harsh, but overall the article says:
> > XFS is slowest on creating and deleting a billion files
> > XFS fsck needs 30GB RAM to fsck that 100TB filesystem.
> 
> Just to go on this subject : a colleague (following my suggestion :)
> tried to create 1 billion files in the same XFS directory.
> Unfortunately the directories themselves don't scale well that far :
> after 1 million files in the first 30 minutes, file creation slows down
> gradually, so after 100 hours we had about 230 million files. The
> directory size at that point was 5,3 GB.

Oh, that's larger than I've every run before ;)

Try using:

# mkfs.xfs -d size=64k

Will speed up large directory operations by at least an order of
magnitude.

> Now we're starting afresh with 1000 directories with 1 million files
> each :)

Which is exactly the test that was used to generate the numbers that
were published.

> (Kernel version used : vanilla 2.6.32.11 x86_64 smp)

Not much point in testing that kernel - delayed logging is where the
future is for this sort of workload, which is what I'm testing.

FWIW, I'm able to create 50 million inodes in under 14 minutes with
delayed logging and 8 threads using directories of 100k entries.

The run to 1 billion inodes that I started late last night (10 hours
in) has just passed 700M inodes on a 16TB filesystem.  It's running
at about 25,000 creates/s, but it is limited by bad shrinker
behaviour causing the dentry cache to be completely trashed causing
~3000 read iops to reload dentries that are still necessary for
operation. It should be running about 3-4x faster than that.

FYI, The reason I'm taking a while to get numbers is that parallel
create workloads of this scale are showing significant problems (VM
livelocks, shrinker misbehaviour, lock contention in IO completion
processing, buffer cache hash scaling issues, etc) and I'm trying to
fix them as I go - these metadata workloads are completely
unexplored territory....

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2010-09-06 22:03 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-19 11:12 LWN.net article: creating 1 billion files -> XFS looses Michael Monnerie
2010-08-19 12:05 ` Christoph Hellwig
2010-08-19 12:45   ` Michael Monnerie
2010-08-19 13:55     ` Stan Hoeppner
2010-08-20  7:55     ` Dave Chinner
2010-08-19 13:10 ` Emmanuel Florac
2010-09-06 13:42 ` Emmanuel Florac
2010-09-06 22:04   ` Dave Chinner [this message]
2010-09-06 22:58     ` Michael Monnerie
2010-09-07  3:31       ` Dave Chinner
2010-09-07  6:20         ` Michael Monnerie
2010-09-07  7:01           ` Dave Chinner
2010-09-08  5:42             ` Michael Monnerie
2010-09-07  6:46     ` Emmanuel Florac
2010-09-16 10:13 ` LWN.net article: creating 1 billion files -> Tests we did Emmanuel Florac
2010-09-16 21:53   ` Stan Hoeppner
2010-09-17  7:54     ` Michael Monnerie
2010-09-17 19:29     ` Peter Grandi
2010-09-18 11:25       ` Emmanuel Florac
2010-09-18 11:16     ` Emmanuel Florac
2010-09-17 19:57   ` Peter Grandi
2010-09-18 11:39     ` Emmanuel Florac

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=20100906220410.GD7362@dastard \
    --to=david@fromorbit.com \
    --cc=eflorac@intellique.com \
    --cc=xfs@oss.sgi.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.