From: Jens Axboe <axboe@kernel.dk>
To: Kyle Hailey <kyle.hailey@delphix.com>
Cc: fio@vger.kernel.org
Subject: Re: analyzing, visualizing, understanding and rating fio data
Date: Tue, 31 Jul 2012 20:55:24 +0200 [thread overview]
Message-ID: <50182A1C.9040202@kernel.dk> (raw)
In-Reply-To: <CACiQ3FAhrVoXJDuBGLx8okyFLNMd1_J2mRkxz4kKJdTty5OoNA@mail.gmail.com>
On 2012-07-28 01:58, Kyle Hailey wrote:
> I've been testing out fio a bit and found it more flexible than the
> other popular I/O benchmark tools such as Iozone and Bonnie++ and fio
> has a more active user community.
>
> In order to easily run fio tests, I've written a wrapper script to go
> through a series of tests.
> In order to understand the output, I've written a wrapper script to
> extract and format the results of multiple tests.
> In order to try and understand the data I've written some graph routines in R.
>
> The output of the graph routines is visible here:
>
> sites.google.com/site/oraclemonitor/i-o-graphics#TOC-Percentile-Latency
>
> The scripts to run the tests, extract the data and graph the data in R
> are available here:
>
> github.com/khailey/fio_scripts/blob/master/README.md
Neat stuff!! I'd encourage you to send some of that stuff in so that it
could be included with fio. The graphic scripts that fio ships with are
some that I did fairly quickly, and they aren't super good.
> My main question is how does one extract key metrics from fio runs
> and what steps does one take to understand and or rate the I/O
> subsystems based on the data?
I'm assuming you are using the terse/minimal CSV output format, and
extracing values from that?
> My area of interest is database I/O performance. Databases have
> certain typical I/O access profiles.
> Most notably databases primarily do random I/O of a set size,
> typically 8K (though this can vary from 2K to 32K).
>
> Looking at 1000s of database reports I typically see random I/O around
> 6ms-8ms on solid
> gear occasionally faster if some has some serious caching on the SAN
> and occasionally
> slower when the I/O subsystem is overtaxed, which fits into some
> numbers I just grab from a
> Google search:
>
> speed rot_lat seek total
> 10K 3ms 4.3ms = 7.3
> 15K 2ms 3.8ms = 5.8
>
>
> For rating I/O it seems easy to say something, for random I/O, like
>
> < 5ms awesome
> < 7ms good
> < 9ms pretty good
>> 9ms starting to have contention or slower gear
>
>
> First I'm sure these numbers are debatable, but more importantly they
> don't take into account throughput.
> The latency of a single users should be the base latency and then
> there should be a second value which the throughput that the I/O
> subsystem can sustain with some close factor of that base latency.
>
> The above also doesn't take into account wide distributions of
> latency and outliers. For outliers, how important is it that the
> 99.99% is far from average? How concerning is it that the max is
> multi-second when the average is good?
It all depends on what you are running. For some workloads, it could be
a huge problem, for others not so much. 99.99% is also extreme. At least
for customers or use cases that I hear about, they are typically looking
at some X latency value at, say, the 99% percentile and some absolute
maximum that they can allow.
--
Jens Axboe
next prev parent reply other threads:[~2012-07-31 18:55 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-27 23:58 analyzing, visualizing, understanding and rating fio data Kyle Hailey
2012-07-31 18:55 ` Jens Axboe [this message]
2012-08-08 16:51 ` Kyle Hailey
-- strict thread matches above, loose matches on Subject: below --
2015-01-14 7:35 Kiran Patil
2015-04-07 17:40 ` Kudryavtsev, Andrey O
2015-04-08 16:28 ` Matthew Eaton
2015-04-08 18:51 ` Kudryavtsev, Andrey O
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=50182A1C.9040202@kernel.dk \
--to=axboe@kernel.dk \
--cc=fio@vger.kernel.org \
--cc=kyle.hailey@delphix.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