From: Coly Li <colyli@suse.de>
To: Dongdong Tao <dongdong.tao@canonical.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>,
"open list:BCACHE (BLOCK LAYER CACHE)"
<linux-bcache@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>,
Gavin Guo <gavin.guo@canonical.com>,
Gerald Yang <gerald.yang@canonical.com>,
Trent Lloyd <trent.lloyd@canonical.com>,
Dominique Poulain <dominique.poulain@canonical.com>,
Dongsheng Yang <dongsheng.yang@easystack.cn>
Subject: Re: [PATCH] bcache: consider the fragmentation when update the writeback rate
Date: Thu, 14 Jan 2021 18:05:41 +0800 [thread overview]
Message-ID: <392abd73-c58a-0a34-bd21-1e9adfffc870@suse.de> (raw)
In-Reply-To: <CAJS8hVJDaREvpvG4iO+Xs-KQXQKFi7=k29TrG=NXqjyiPpUCZA@mail.gmail.com>
On 1/14/21 12:45 PM, Dongdong Tao wrote:
> Hi Coly,
>
> I've got the testing data for multiple threads with larger IO depth.
>
Hi Dongdong,
Thanks for the testing number.
> *Here is the testing steps:
> *1. make-bcache -B <> -C <> --writeback
>
> 2. Open two tabs, start different fio task in them at the same time.
> Tab1 run below fio command:
> sudo fio --name=random-writers --filename=/dev/bcache0 --ioengine=libaio
> --iodepth=32 --rw=randrw --blocksize=64k,8k --direct=1 --runtime=24000
>
> Tab2 run below fio command:
> sudo fio --name=random-writers2 --filename=/dev/bcache0
> --ioengine=libaio --iodepth=8 --rw=randwrite --bs=4k --rate_iops=150
> --direct=1 --write_lat_log=rw --log_avg_msec=20
>
Why you limit the iodep to 8 and iops to 150 on cache device?
For cache device the limitation is small. Iosp 150 with 4KB block size,
it means every hour writing (150*4*60*60=2160000KB=) 2GB data. For 35
hours it is only 70GB.
What if the iodeps is 128 or 64, and no iops rate limitation ?
> Note
> - Tab1 fio will run for 24000 seconds, which is the one to cause the
> fragmentation and made the cache_available_percent drops to under 40.
> - Tab2 fio is the one that I'm capturing the latency and I have let it
> run for about 35 hours, which is long enough to allow the
> cache_available_percent drops under 30.
> - This testing method utilized fio benchmark with larger read block
> size/small write block size to cause the high fragmentation, However in
> a real production env, there could be
> various reasons or a combination of various reasons to cause the high
> fragmentation, but I believe it should be ok to use any method to cause
> the fragmentation to verify if
> bcache with this patch is responding better than the master in this
> situation.
>
> *Below is the testing result:*
>
> The total run time is about 35 hours, the latency points in the charts
> for each run are 1.5 million
>
> Master:
> fio-lat-mater.png
>
> Master + patch:
> fio-lat-patch.png
> Combine them together:
> fio-lat-mix.png
>
> Now we can see the master is even worse when we increase the iodepth,
> which makes sense since the backing HDD is being stressed more hardly.
>
> *Below are the cache stats changing during the run:*
> Master:
> bcache-stats-master.png
>
> Master + the patch:
> bcache-stats-patch.png
>
> That's all the testing done with 400GB NVME with 512B block size.
>
> Coly, do you want me to continue the same testing on 1TB nvme with
> different block size ?
> or is it ok to skip the 1TB testing and continue the test with 400GB
> NVME but with different block size?
> feel free to let me know any other test scenarios that we should cover
> here.
Yes please, more testing is desired for performance improvement. So far
I don't see performance number for real high work load yet.
Thanks.
Coly Li
next prev parent reply other threads:[~2021-01-14 10:06 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-05 3:06 Dongdong Tao
[not found] ` <CAJS8hVK-ZCxJt=E3hwR0hmqPYL1T07_WC_nerb-dZodO+DqtDA@mail.gmail.com>
2021-01-05 4:33 ` Coly Li
[not found] ` <CAJS8hVL2B=RZr8H4jFbz=bX9k_E9ur7kTeue6BJwzm4pwv1+qQ@mail.gmail.com>
2021-01-08 4:05 ` Coly Li
2021-01-08 8:30 ` Dongdong Tao
2021-01-08 8:39 ` Coly Li
2021-01-08 8:47 ` Dongdong Tao
2021-01-14 4:55 ` Dongdong Tao
[not found] ` <CAJS8hVJDaREvpvG4iO+Xs-KQXQKFi7=k29TrG=NXqjyiPpUCZA@mail.gmail.com>
2021-01-14 10:05 ` Coly Li [this message]
2021-01-14 12:22 ` Dongdong Tao
2021-01-14 13:31 ` Coly Li
2021-01-14 15:35 ` Dongdong Tao
2021-01-17 7:11 ` kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2021-01-19 12:56 Dongdong Tao
2021-01-19 14:06 ` Coly Li
2020-11-03 12:42 Dongdong Tao
2020-11-04 5:06 ` kernel test robot
2020-11-05 16:32 ` Coly Li
2020-11-10 4:19 ` Dongdong Tao
2020-11-11 8:33 ` Coly Li
2020-12-09 2:27 ` Dongsheng Yang
2020-12-09 4:48 ` Dongdong Tao
2020-12-09 7:49 ` Dongsheng Yang
[not found] ` <CAJS8hVLMUS1mdrwC8ovzvMO+HWf4xtXRCNJEghtbtW0g93Kh_g@mail.gmail.com>
2020-12-14 17:07 ` Coly Li
[not found] ` <CAJS8hVKMjec1cpe_zoeZAJrfY0Pq9bJ51eO6E+g8pgN9jV3Nmw@mail.gmail.com>
2020-12-21 8:08 ` Coly Li
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=392abd73-c58a-0a34-bd21-1e9adfffc870@suse.de \
--to=colyli@suse.de \
--cc=dominique.poulain@canonical.com \
--cc=dongdong.tao@canonical.com \
--cc=dongsheng.yang@easystack.cn \
--cc=gavin.guo@canonical.com \
--cc=gerald.yang@canonical.com \
--cc=kent.overstreet@gmail.com \
--cc=linux-bcache@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=trent.lloyd@canonical.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
all inboxes | Powered by JetHome®