From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: btrfs performance, sudden drop to 0 IOPs
Date: Thu, 12 Feb 2015 02:10:44 +0000 (UTC) [thread overview]
Message-ID: <pan$9532$65b1220e$320184ed$94bcf659@cox.net> (raw)
In-Reply-To: CABdHLQ6La7BO-TJ3cYEx_NnOUhAYJ69uv3tGnVRYsWkiUrqCsQ@mail.gmail.com
P. Remek posted on Tue, 10 Feb 2015 18:44:33 +0100 as excerpted:
> In the test, I use --direct=1 parameter for fio which basically does
> O_DIRECT on target file. The O_DIRECT should guarantee that the
> filesystem cache is bypassed and IO is sent directly to the underlaying
> storage. Are you saying that btrfs buffers writes despite of O_DIRECT?
I'm out of my (admin, no claims at developer) league on that. I see
someone else replied, and would defer to them on this.
>> Those 70K IOPs are all the extra work the filesystem is doing in
>> ordered to track those 4 KiB COWed writes!
>
> This sounds like you are thinking that getting 70K IOPs is a bad thing
> but I am testing performance which means higher IOPS = better result. In
> other words, after second run when that target file already existed, the
> performance improved significantly.
Perhaps I'm wrong (I /did/ emphasize "suspect") here, but what I was
suggesting was...
Those higher IOPs are I believe fake, manufactured by the filesystem as a
result of splitting up the few larger extents into many smaller extents
due to COW-fragmentation. If I'm correct, the physical device and the
below-filesystem-level kernel levels (where I expect your IOPs measure is
sourced) are seeing this orders of magnitude increased number of IOPs due
to breaking one original filesystem operation into perhaps hundreds of
effectively random individual 4k block operations, but the actual thruput
at the above-filesystem-level is reduced.
There's certainly a potential in theory for such an effect on btrfs due
to COWing rewrites and faced with those results, it is how I'd explain
them in a rather hand-wavy not too low-level technical way.
But if it doesn't match reality, then my understanding is insufficient
and I'm wrong. Wouldn't be the first time. =:^P
>> I suppose you're already aware that you're running a rather outdated
>> userspace/btrfs-progs (what I assume you meant by tools).
>
> I was hoping that btrfs-progs doesn't have any influence on runtime
> properties of the btrfs filesystem. As I am doing performance tests, I
> hope that btrfs-progs version doesn't have any impact on the results.
I was simply pointing out the mismatch, in case you intended to actually
deploy, and potentially try to fix any problems with that old a
userspace. As long as you're aware of the issue and won't be trying to
btrfs check --repair or the like with that old userspace, for runtime
testing, indeed, it shouldn't matter.
So you're "hoping correctly". =:^)
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
next prev parent reply other threads:[~2015-02-12 2:11 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-09 17:26 btrfs performance, sudden drop to 0 IOPs P. Remek
2015-02-09 19:56 ` Kai Krakow
2015-02-09 22:21 ` P. Remek
2015-02-10 6:58 ` Kai Krakow
2015-02-10 4:42 ` Duncan
2015-02-10 17:44 ` P. Remek
2015-02-12 2:10 ` Duncan [this message]
2015-02-12 4:33 ` Kai Krakow
2015-02-12 12:21 ` Austin S Hemmelgarn
2015-02-12 19:42 ` Kai Krakow
2015-02-13 13:16 ` P. Remek
2015-02-13 18:26 ` Kai Krakow
2015-02-13 13:08 ` P. Remek
2015-02-13 2:46 ` Liu Bo
2015-02-13 3:55 ` Wang Shilong
2015-02-13 13:18 ` P. Remek
2015-02-11 12:40 ` Austin S Hemmelgarn
2015-02-12 4:59 ` Liu Bo
2015-02-13 13:06 ` P. Remek
2015-02-13 14:08 ` Liu Bo
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='pan$9532$65b1220e$320184ed$94bcf659@cox.net' \
--to=1i5t5.duncan@cox.net \
--cc=linux-btrfs@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.