public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Mark Lord <kernel@teksavvy.com>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
	xfs@oss.sgi.com, Christoph Hellwig <hch@infradead.org>,
	Justin Piszcz <jpiszcz@lucidpixels.com>,
	Alex Elder <aelder@sgi.com>,
	Stan Hoeppner <stan@hardwarefreak.com>
Subject: Re: xfs: very slow after mount, very slow at umount
Date: Fri, 28 Jan 2011 11:17:35 +1100	[thread overview]
Message-ID: <20110128001735.GO21311@dastard> (raw)
In-Reply-To: <4D41EA04.7010506@teksavvy.com>

On Thu, Jan 27, 2011 at 04:56:20PM -0500, Mark Lord wrote:
> On 11-01-27 02:40 PM, Stan Hoeppner wrote:
> ..
> > You need to use the mkfs.xfs defaults for any single drive filesystem, and trust
> > the allocator to do the right thing.
> 
> But it did not do the right thing when I used the defaults.
> Big files ended up with tons of (exactly) 64MB extents, ISTR.

Because your AG size is 64MB. An extent can't be larger than an AG.
Hence you are fragmenting your large files unnecessarily, as extents
can be up to 8GB in size on a 4k block size filesystem.

> With the increased number of ags, I saw much less fragmentation,
> and the drive was still very light on I/O despite multiple simultaneous
> recordings, commflaggers, and playback at once.

The allocsize mount option is the prefered method of keeping
fragemntation down for dvr style workloads.

> > Trust the defaults.
> 
> I imagine the defaults are designed to handle a typical Linux install,
> with 100,000 to 1,000,000 files varying from a few bytes to a few megabytes.

Why would we optimise a filesystem designed for use on high end
storage and large amounts of IO concurrency for what a typical Linux
desktop needs? For such storage (i.e. single spindle) mkfs optimises
the layout for minimal seeks and relatively low amounts of
concurrency. This gives _adequate_ performance on desktop machines
without compromising scalbility on high end storage.

In my experience with XFS, most people who tweak mkfs parameters end
up with some kind of problem they can't explain and don't know how
to solve. And they are typically problems that would not have
occurred had they simply used the defaults in the first place. What
you've done is a perfect example of this.

Yes, I know we are taking the fun out of tweaking knobs so you can
say it's 1% faster than the default, but that's our job: to
determine the right default settings so the filesystem works as well
as possible out of the box with no tweaking for most workloads on a
wide range of storage....

> That's not what this filesystem will have. It will have only a few thousand
> (max) inodes at any given time, but each file will be HUGE.

Which is exactly the use case XFS was designed for, and....

> XFS is fantastic at adapting to the workload, but I'd like to try and have
> it tuned more closely for the known workload this system is throwing at it.

.... as such the mkfs defaults are already tuned as well as they can
be for such usage.

> I'm now trying again, but with 8 ags instead of 8000+.

Why 8 AGs and not the default?

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

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

  reply	other threads:[~2011-01-28  0:15 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4D40C8D1.8090202@teksavvy.com>
2011-01-27  3:30 ` xfs: very slow after mount, very slow at umount Dave Chinner
2011-01-27  3:49   ` Mark Lord
2011-01-27  5:17     ` Stan Hoeppner
2011-01-27 15:12     ` Mark Lord
2011-01-27 15:40       ` Justin Piszcz
2011-01-27 16:03         ` Mark Lord
2011-01-27 19:40           ` Stan Hoeppner
2011-01-27 20:11             ` david
2011-01-27 23:53               ` Stan Hoeppner
2011-01-28  2:09                 ` david
2011-01-28 13:56                   ` Dave Chinner
2011-01-28 19:26                     ` david
2011-01-29  5:40                       ` Dave Chinner
2011-01-29  6:08                         ` david
2011-01-29  7:35                           ` Dave Chinner
2011-01-31 19:17                             ` Christoph Hellwig
2011-01-27 21:56             ` Mark Lord
2011-01-28  0:17               ` Dave Chinner [this message]
2011-01-28  1:22                 ` Mark Lord
2011-01-28  1:36                   ` Mark Lord
2011-01-28  4:14                   ` David Rees
2011-01-28 14:22                     ` Mark Lord
2011-01-28  7:31                   ` Dave Chinner
2011-01-28 14:33                     ` Mark Lord
2011-01-28 23:58                       ` Dave Chinner
2011-01-28 19:18             ` Martin Steigerwald
2011-01-27 20:24           ` John Stoffel
2011-01-27 23:41       ` Dave Chinner
2011-01-28  0:59         ` Mark Lord
2011-01-27 23:39     ` Dave Chinner
     [not found] ` <4D40CDCF.4010301@teksavvy.com>
2011-01-27  3:43   ` Dave Chinner
2011-01-27  3:53     ` Mark Lord
2011-01-27  4:54       ` Mark Lord
2011-01-27 23:34       ` Dave Chinner

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=20110128001735.GO21311@dastard \
    --to=david@fromorbit.com \
    --cc=aelder@sgi.com \
    --cc=hch@infradead.org \
    --cc=jpiszcz@lucidpixels.com \
    --cc=kernel@teksavvy.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stan@hardwarefreak.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox