All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anand Jain <anand.jain@oracle.com>
To: josef@toxicpanda.com
Cc: dsterba@suse.com, linux-btrfs@vger.kernel.org
Subject: [PATCH 0/3 RFC] fsperf: enhancements supporting read policy benchmark
Date: Fri, 12 Nov 2021 16:04:36 +0800	[thread overview]
Message-ID: <cover.1636678032.git.anand.jain@oracle.com> (raw)

I am sending this early to seek feedback on the best way to benchmark 
more than one read policy.

Patch 1,2 adds helpers to support a new setup.
Patch 3 adds a generic readonly dio fio benchmark script.

How to run:
Manage the read policy in the config file as required.

For example:

$ cat local.cfg
    [main]
    directory=/mnt/test

    [btrfs-pid]
    device=/dev/vg/scratch0
    mkfs=mkfs.btrfs -f -draid1 -mraid1 /dev/vg/scratch1
    mount=mount -o noatime
    readpolicy=pid
    
    [btrfs-new-policy]
    device=/dev/vg/scratch0
    mkfs=mkfs.btrfs -f -draid1 -mraid1 /dev/vg/scratch1
    mount=mount -o noatime
    readpolicy=new-policy

$ ./fsperf -c btrfs-pid diorandread
snip

$ ./fsperf -c btrfs-new-policy -t -C btrfs-pid diorandread
::
btrfs-new-policy test results
diorandread results
     metric         baseline   current    stdev         diff      
==================================================================
read_lat_ns_max     1.36e+08   1.09e+08       0   -20.02%
write_iops                 0          0       0     0.00%
read_clat_ns_p50     2277376    2244608       0    -1.44%
write_io_kbytes            0          0       0     0.00%
read_clat_ns_p99    12910592   11862016       0    -8.12%
write_bw_bytes             0          0       0     0.00%
read_iops            5680.85    5848.49       0     2.95%
write_clat_ns_p50          0          0       0     0.00%
read_io_bytes       1.40e+09   1.44e+09       0     2.95%
read_io_kbytes       1363496    1403708       0     2.95%
write_clat_ns_p99          0          0       0     0.00%
elapsed                   61         61       0     0.00%
read_bw_bytes       23268780   23955418       0     2.95%
sys_cpu                12.42      13.41       0     7.93%
write_lat_ns_min           0          0       0     0.00%
read_lat_ns_min       164944     189882       0    15.12%
write_lat_ns_max           0          0       0     0.00%

Anand Jain (3):
  fsperf: add a few helper functions
  fsperf: get the running section in the setup
  fsperf: add a new test case diorandread

 local-cfg-example        |  6 ++++++
 src/fsperf.py            |  2 +-
 src/utils.py             | 45 ++++++++++++++++++++++++++++++++++++++++
 tests/dio-randread.py    | 22 ++++++++++++++++++++
 tests/randwrite-2xram.py |  2 +-
 tests/untar-firefox.py   |  2 +-
 6 files changed, 76 insertions(+), 3 deletions(-)
 create mode 100644 tests/dio-randread.py

-- 
2.33.1


             reply	other threads:[~2021-11-12  8:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-12  8:04 Anand Jain [this message]
2021-11-12  8:04 ` [PATCH 1/3] fsperf: add a few helper functions Anand Jain
2021-11-12  8:04 ` [PATCH 3/3] fsperf: add a new test case diorandread Anand Jain
2021-11-12 14:34 ` [PATCH 0/3 RFC] fsperf: enhancements supporting read policy benchmark Josef Bacik
2021-11-15 11:57   ` Anand Jain

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=cover.1636678032.git.anand.jain@oracle.com \
    --to=anand.jain@oracle.com \
    --cc=dsterba@suse.com \
    --cc=josef@toxicpanda.com \
    --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.