public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Andrew Klaassen <ak@spinpro.com>
Cc: xfs@oss.sgi.com
Subject: Re: External log size limitations
Date: Thu, 17 Feb 2011 11:32:33 +1100	[thread overview]
Message-ID: <20110217003233.GH13052@dastard> (raw)
In-Reply-To: <4D5C1D77.1060000@spinpro.com>

On Wed, Feb 16, 2011 at 01:54:47PM -0500, Andrew Klaassen wrote:
> Hi all,
> 
> I found some this document:
> 
> http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=linux&db=bks&fname=/SGI_Admin/LX_XFS_AG/ch02.html
> 
> ...which says that an XFS external log is limited to 128MB.
> 
> Is there any way to make that larger?

The limit is just under 2GB now - that document is a couple of years
out of date - so if you are running on anything more recent that a
~2.6.27 kernel 2GB logs should work fine.

> Goal:  I'd love to try putting the external log on an SSD that could
> sustain two or three minutes of steady full-throttle writing.  128MB
> gives me less than a second worth of writes before my write speed
> slows down to the underlying storage speed.

Data write speed or metadata write speed? What sort of write
patterns? Also, don't forget that data is not logged so increasing
the log size won't change the speed of data writeback.

As it is, 2GB is still not enough for preventing metadata writeback
for minutes if that is what you are trying to do.  Even if you use
the new delaylog mount option - which reduces log traffic by an
order of magnitude for most non-synchronous workloads - log write
rates can be upwards of 30MB/s under concurrent metadata intensive
workloads....

> I'll do lots of benchmarks before rolling it out to make sure it
> actually does help, of course.  I just want to know if it's
> possible, and how to do it if it is.

If you want a log larger than 2GB, then there is a lot of code
changes in both kernel an userspace as the log arithmetic is all
done via 32 bit integers and a lot of it is byte based.

As it is, there are significant scaling issues with logs of even 2GB
in size - log replay can take tens of minutes when a log full of
inode changes have to be replayed, filling a 2GB log means you'll
probably have ten of gigabytes of dirty metadata in memory, so
response to memory shortages can cause IO storms and severe
interactivity problems, etc.

In general, I'm finding that a log size of around 512MB w/ delaylog
gives the best tradeoff between scalability, performance, memory
usage and relatively sane recovery times...

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-02-17  0:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-16 18:54 External log size limitations Andrew Klaassen
2011-02-17  0:32 ` Dave Chinner [this message]
2011-02-18 15:26   ` Andrew Klaassen
2011-02-18 19:55     ` Stan Hoeppner
2011-02-18 20:31       ` Andrew Klaassen
2011-02-19  3:53         ` Stan Hoeppner
2011-02-19 10:02           ` Matthias Schniedermeyer
2011-02-19 20:33             ` Stan Hoeppner
2011-02-19 21:47               ` Emmanuel Florac
2011-02-20 21:14     ` 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=20110217003233.GH13052@dastard \
    --to=david@fromorbit.com \
    --cc=ak@spinpro.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