From: Martin Steigerwald <Martin@lichtvoll.de>
To: Jeff Moyer <jmoyer@redhat.com>
Cc: fio@vger.kernel.org
Subject: Re: Measuring IOPS
Date: Wed, 3 Aug 2011 22:42:16 +0200 [thread overview]
Message-ID: <201108032242.16778.Martin@lichtvoll.de> (raw)
In-Reply-To: <x494o1yfdov.fsf@segfault.boston.devel.redhat.com>
Am Mittwoch, 3. August 2011 schrieben Sie:
> Martin Steigerwald <Martin@lichtvoll.de> writes:
> > - ioengine=libaio
> > - direct=1
> > - and then due to direct I/O alignment requirement: bsrange=2k-16k
> >
> > So I now also fully understand that ioengine=sync just refers to the
> > synchronous nature of the system calls used, not on whether the I/Os
> > are issued synchronously via sync=1 or by circumventing the page
> > cache via direct=1
> >
> > Attached are results that bring down IOPS on read drastically! I
> > first let sequentiell.job write out the complete 2 gb with random
> > data and then ran the iops.job.
>
> If you want to measure the maximum iops, then you should consider
> driving iodepths > 1. Assuming you are testing a sata ssd, try using a
> depth of 64 (twice the NCQ depth).
And additionally?
Does using iodepth > 1 need ioengine=libaio? Let�s see the manpage:
iodepth=int
Number of I/O units to keep in flight against the
file. Note that increasing iodepth beyond 1 will
not affect synchronous ioengines (except for small
degress when verify_async is in use). Even async
engines my impose OS restrictions causing the
desired depth not to be achieved. This may happen
on Linux when using libaio and not setting
direct=1, since buffered IO is not async on that
OS. Keep an eye on the IO depth distribution in
the fio output to verify that the achieved depth
is as expected. Default: 1.
Okay, yes, it does. I start getting a hang on it. Its a bit puzzling to
have two concepts of synchronous I/O around:
1) synchronous system call interfaces aka fio I/O engine
2) synchronous I/O requests aka O_SYNC
--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
next prev parent reply other threads:[~2011-08-03 20:42 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-29 15:37 Measuring IOPS Martin Steigerwald
2011-07-29 16:14 ` Martin Steigerwald
2011-08-02 14:32 ` Measuring IOPS (solved, I think) Martin Steigerwald
2011-08-02 19:48 ` Jens Axboe
2011-08-02 21:28 ` Martin Steigerwald
2011-08-03 7:17 ` Jens Axboe
2011-08-03 9:03 ` Martin Steigerwald
2011-08-03 10:34 ` Jens Axboe
2011-08-03 19:31 ` Measuring IOPS Martin Steigerwald
2011-08-03 20:22 ` Jeff Moyer
2011-08-03 20:33 ` Martin Steigerwald
2011-08-04 7:50 ` Jens Axboe
2011-08-03 20:42 ` Martin Steigerwald [this message]
2011-08-03 20:50 ` Martin Steigerwald
2011-08-04 8:51 ` Martin Steigerwald
2011-08-04 8:58 ` Jens Axboe
2011-08-04 9:34 ` Martin Steigerwald
2011-08-04 10:02 ` Jens Axboe
2011-08-04 10:23 ` Martin Steigerwald
2011-08-05 7:28 ` Jens Axboe
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=201108032242.16778.Martin@lichtvoll.de \
--to=martin@lichtvoll.de \
--cc=fio@vger.kernel.org \
--cc=jmoyer@redhat.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