From: Gionatan Danti <g.danti@assyoma.it>
To: Dave Chinner <david@fromorbit.com>
Cc: linux-xfs@vger.kernel.org, g.danti@assyoma.it
Subject: Re: Question about logbsize default value
Date: Sat, 26 Oct 2019 11:54:02 +0200 [thread overview]
Message-ID: <51fef5c8e58db12a72b693680c2feaa5@assyoma.it> (raw)
In-Reply-To: <20191025233934.GI4614@dread.disaster.area>
Il 26-10-2019 01:39 Dave Chinner ha scritto:
> Again, it's a trade-off.
>
> 256kB iclogs mean that a crash can leave an unrecoverable 2MB hole
> in the journal, while 32kB iclogs means it's only 256kB.
Sure, but a crash will always cause the loss of unsynced data,
especially when using deferred logging and/or deferred allocation,
right?
> 256kB iclogs mean 2MB of memory usage per filesystem, 32kB is only
> 256kB. We have users with hundreds of individual XFS filesystems
> mounted on single machines, and so 256kB iclogs is a lot of wasted
> memory...
Just wondering: 1000 filesystems with 256k logbsize would result in 2 GB
of memory consumed by journal buffers. Is this considered too much
memory for a system managing 1000 filesystems? The pagecache write back
memory consumption on these systems (probably equipped with 10s GB of
RAM) would dwarfs any journal buffers, no?
> On small logs and filesystems, 256kB iclogs doesn't provide any real
> benefit because throughput is limited by log tail pushing (metadata
> writeback), not async transaction throughput.
>
> It's not uncommon for modern disks to have best throughput and/or
> lowest latency at IO sizes of 128kB or smaller.
>
> If you have lots of NVRAM in front of your spinning disks, then log
> IO sizes mostly don't matter - they end up bandwidth limited before
> the iclog size is an issue.
Yes, this matches my observation.
> Testing on a pristine filesystem doesn't show what happens as the
> filesystem ages over years of constant use, and so what provides
> "best performance on empty filesystem" often doesn't provide best
> long term production performance.
>
> And so on.
>
> Storage is complex, filesystems are complex, and no one setting is
> right for everyone. The defaults are intended to be "good enough" in
> the majority of typical user configs.
Yep.
>
> For you're specific storage setup, yes.
>
>> If you, do you suggest to always set logbsize
>> to the maximum supported value?
>
> No. I recommend that people use the defaults, and only if there are
> performance issues with their -actual production workload- should
> they consider changing anything.
>
> Benchmarks rarely match the behaviour of production workloads -
> tuning for benchmarks can actively harm production performance,
> especially over the long term...
>
> Cheers,
>
> Dave.
Ok, very clear.
Thank you so much.
--
Danti Gionatan
Supporto Tecnico
Assyoma S.r.l. - www.assyoma.it
email: g.danti@assyoma.it - info@assyoma.it
GPG public key ID: FF5F32A8
next prev parent reply other threads:[~2019-10-26 9:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-23 9:40 Question about logbsize default value Gionatan Danti
2019-10-24 21:50 ` Dave Chinner
2019-10-25 7:10 ` Gionatan Danti
2019-10-25 23:39 ` Dave Chinner
2019-10-26 9:54 ` Gionatan Danti [this message]
2019-10-26 21:59 ` Dave Chinner
2019-10-27 18:09 ` Gionatan Danti
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=51fef5c8e58db12a72b693680c2feaa5@assyoma.it \
--to=g.danti@assyoma.it \
--cc=david@fromorbit.com \
--cc=linux-xfs@vger.kernel.org \
/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.