All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jaxboe@fusionio.com>
To: Martin Steigerwald <Martin@lichtvoll.de>
Cc: Jeff Moyer <jmoyer@redhat.com>, fio@vger.kernel.org
Subject: Re: Measuring IOPS
Date: Thu, 4 Aug 2011 09:50:45 +0200	[thread overview]
Message-ID: <4E3A4F55.3050003@fusionio.com> (raw)
In-Reply-To: <201108032233.52591.Martin@lichtvoll.de>

On 2011-08-03 22:33, Martin Steigerwald wrote:
> Am Mittwoch, 3. August 2011 schrieb Jeff Moyer:
>> 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).
> 
> Yes, I thought about that too, but then also read about the 
> "recommendation" to use an iodepth of one in a post here:
> 
> http://www.spinics.net/lists/fio/msg00502.html
> 
> What will be used in regular workloads - say Linux desktop on an SSD here? 
> I would bet that Linux uses what it can get? What about server workloads 
> like mail processing on SAS disks or fileserver on SATA disks and such 
> like?
> 
> 
> Twice of
> 
> merkaba:~> hdparm -I /dev/sda | grep -i queue
>         Queue depth: 32
>            *    Native Command Queueing (NCQ)
> 
> ?
> 
> Why twice?

Twice is a good rule of thumb, since it allows both the drive some
freedom for scheduling to reduce rotational latencies, but it also
allows the OS to work on a larger range of requests. This is beneficial
mostly for merging of sequential requests, but also for scheduling
purposes.

So at least depth + a_few, 2*depth is a good default.

-- 
Jens Axboe


  reply	other threads:[~2011-08-04  7:50 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 [this message]
2011-08-03 20:42     ` Martin Steigerwald
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=4E3A4F55.3050003@fusionio.com \
    --to=jaxboe@fusionio.com \
    --cc=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 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.