[Top] [All Lists]

Re: xfs: very slow after mount, very slow at umount

To: Mark Lord <kernel@xxxxxxxxxxxx>
Subject: Re: xfs: very slow after mount, very slow at umount
From: "John Stoffel" <john@xxxxxxxxxxx>
Date: Thu, 27 Jan 2011 15:24:25 -0500
Cc: Justin Piszcz <jpiszcz@xxxxxxxxxxxxxxx>, Stan Hoeppner <stan@xxxxxxxxxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, Linux Kernel <linux-kernel@xxxxxxxxxxxxxxx>, Alex Elder <aelder@xxxxxxx>
In-reply-to: <4D419765.4070805@xxxxxxxxxxxx>
References: <4D40C8D1.8090202@xxxxxxxxxxxx> <20110127033011.GH21311@dastard> <4D40EB2F.2050809@xxxxxxxxxxxx> <4D418B57.1000501@xxxxxxxxxxxx> <alpine.DEB.2.00.1101271040000.31246@xxxxxxxxxxxxxxxx> <4D419765.4070805@xxxxxxxxxxxx>
>>>>> "Mark" == Mark Lord <kernel@xxxxxxxxxxxx> writes:

Mark> On 11-01-27 10:40 AM, Justin Piszcz wrote:
>> On Thu, 27 Jan 2011, Mark Lord wrote:
Mark> ..
>>> Can you recommend a good set of mkfs.xfs parameters to suit the 
>>> characteristics
>>> of this system?  Eg. Only a few thousand active inodes, and nearly all 
>>> files are
>>> in the 600MB -> 20GB size range.  The usage pattern it must handle is up to
>>> six concurrent streaming writes at the same time as up to three streaming 
>>> reads,
>>> with no significant delays permitted on the reads.
>>> That's the kind of workload that I find XFS handles nicely,
>>> and EXT4 has given me trouble with in the past.
Mark> ..
>> I did a load of benchmarks a long time ago testing every mkfs.xfs option 
>> there
>> was, and I found that most of the time (if not all), the defaults were the 
>> best.
Mark> ..

Mark> I am concerned with fragmentation on the very special workload
Mark> in this case.  I'd really like the 20GB files, written over a
Mark> 1-2 hour period, to consist of a very few very large extents, as
Mark> much as possible.

Mark> Rather than hundreds or thousands of "tiny" MB sized extents.  I
Mark> wonder what the best mkfs.xfs parameters might be to encourage
Mark> that?

Hmmm, should the application be pre-allocating the disk space then, so
that the writes get into nice large extents automatically?  Isn't this
what the fallocate() system call is for?  Doesn't MythTV use this?

I don't use XFS, or MythTV, but I like keeping track of this stuff.


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