[Top] [All Lists]

Re: Many-metadata performance still at a loss

To: Jan Engelhardt <jengelh@xxxxxxxxxx>
Subject: Re: Many-metadata performance still at a loss
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Fri, 11 Mar 2011 12:10:24 +1100
Cc: xfs@xxxxxxxxxxx
In-reply-to: <alpine.LNX.2.01.1103101507120.5379@xxxxxxxxxxxxxxx>
References: <alpine.LNX.2.01.1103101507120.5379@xxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Thu, Mar 10, 2011 at 03:14:34PM +0100, Jan Engelhardt wrote:
> Hi,
> Between 2.6.33 and 2.6.37 there was a lot of interesting announcements 
> with regards to XFS performance. However, now that I booted into 
>, I still see the metadata slowness from earlier.
> (Basically `time (tar -xf linux-2.6.37.tar.gz; sync)` - ext4 gets the 
> job done in like 15-20 seconds, xfs is still syncing after 11 minutes.)
> Was there something I missed?
> # xfs_info /
> meta-data=/dev/md3               isize=256    agcount=32, 
> agsize=11429117 blks
>          =                       sectsz=512   attr=2
> data     =                       bsize=4096   blocks=365731739, 
> imaxpct=5
>          =                       sunit=0      swidth=0 blks
> naming   =version 2              bsize=4096   ascii-ci=0
> log      =internal               bsize=4096   blocks=32768, version=2
>          =                       sectsz=512   sunit=0 blks, lazy-count=0
> realtime =none                   extsz=4096   blocks=0, rtextents=0

You're using an old mkfs? At minimum, this should have lazy-count=1.
I'm also wondering about the fact this is a MD device but there is
no sunit/swidth set, and the agcount of 32 is not a default value,
either. Seems like you handrolled your mkfs parameters - it is
better to just use the defaults a recent mkfs sets....

Further - what is your storage configuration (e.g. what type of MD
raid are you using) and is the filesystem correctly aligned to the
storage? If you get these wrong, then nothing else you do will
improve performance.

What are your mount options - perhaps you've missed the fact that
the new functionality requires the "delaylog" mount option to be
added.  Mind you, that is not a magic bullet - if the operation is
single threaded and CPU bound, delaylog makes  no difference to
performance, and with lazy-count=0 then the superblock will still be
a major contention point and probably nullify any improvement
delaylog could provide..


Dave Chinner

<Prev in Thread] Current Thread [Next in Thread>