From: Jens Axboe <axboe@kernel.dk>
To: Xiaofei Du <xiaofei.du008@gmail.com>
Cc: fio@vger.kernel.org, aaronc@cse.unsw.edu.au
Subject: Re: Question about FIO sequential writes
Date: Tue, 15 Apr 2014 16:24:10 -0600 [thread overview]
Message-ID: <534DB18A.4050507@kernel.dk> (raw)
In-Reply-To: <CAND_vCYOVgFzN+TQv=onWG-CH2ApczsKUaToxQ-YCiuuJAUr5Q@mail.gmail.com>
On 2014-04-15 16:14, Xiaofei Du wrote:
> Dear Jens,
>
> I have a couple questions about FIO.
>
> First question. For default ioengine, with direct IO option enabled. On
> a hard drive with writing cache disabled. I got random writes faster
> than sequential writes. I couldn't explain this. Can you please help me
> explain if you know the reason. Could that be a bug?
How big of a difference are you seeing? Depending on the time and size
of the seek, the random write could be faster. The sequential write in
this case has to wait for a full revolution of the platters before the
head is positioned correctly again. For a random write, statistically
you would have to wait for half a revolution. But you have seek time for
that case too, so it depends on the IO pattern.
So it might be useful to include the job you ran and the outputs.
> Second question. For libaio ioengin, with direct IO option enabled and
> on a hard drive with writing cache disabled, I could get very high IOPS
> for sequential writes if I keep increasing the iodepth. The IOPS I got
> seems unreasonable. It could go up to 16000 IOPS for 4k blocks. So is
> there anything wrong with sequential writes in FIO?
If you go to a higher depth, the OS/driver may merge sequential IO. So
this means that fio might be issuing 4K IOs and calculating IOPS based
on that, but further down they are coalesced and (for instance) 128 4K
writes are submitted and completed by the drive as a single 512K write.
--
Jens Axboe
next prev parent reply other threads:[~2014-04-15 22:24 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-15 22:14 Question about FIO sequential writes Xiaofei Du
2014-04-15 22:24 ` Jens Axboe [this message]
2014-04-15 23:04 ` Xiaofei Du
2014-04-16 1:44 ` Jens Axboe
2014-04-16 4:47 ` Elliott, Robert (Server Storage)
2014-04-16 14:41 ` Jens Axboe
2014-04-17 1:08 ` Xiaofei Du
2014-04-17 14:30 ` Elliott, Robert (Server Storage)
2014-04-17 18:29 ` Xiaofei Du
2014-04-21 16:38 ` Bruce Cran
2014-04-16 1:10 ` Xiaofei Du
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=534DB18A.4050507@kernel.dk \
--to=axboe@kernel.dk \
--cc=aaronc@cse.unsw.edu.au \
--cc=fio@vger.kernel.org \
--cc=xiaofei.du008@gmail.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 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.