linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Keld Jørn Simonsen" <keld@keldix.com>
To: Aaron Sowry <aaron@cendio.se>, linux-raid@vger.kernel.org
Subject: Re: RAID10 Performance
Date: Wed, 2 Mar 2011 11:14:09 +0100	[thread overview]
Message-ID: <20110302101408.GC20427@www2.open-std.org> (raw)
In-Reply-To: <20110302092425.GA4264@cthulhu.home.robinhill.me.uk>

On Wed, Mar 02, 2011 at 09:24:25AM +0000, Robin Hill wrote:
> On Wed Mar 02, 2011 at 10:04:19AM +0100, Aaron Sowry wrote:
> 
> > Hello,
> > 
> > I have been testing different RAID configurations on a 2-disk setup, and
> > have a couple of questions regarding performance. The information I have
> > found online so far seems to contradict itself fairly regularly so I was
> > hoping for a more coherent answer :)
> > 
> > 1) As I understand it, a RAID10 'near' configuration using two disks is
> > essentially equivalent to a RAID1 configuration. Is this correct?
> > 
> It should be, yes, though I've not actually sat down and verified this.
> 
> > 2) Does md RAID1 support 'striped' reads? If not, is RAID1 read
> > performance in any way related to the number of disks in the array?
> > 
> No, it doesn't support 'striped' reads (there's no real performance
> advantage to doing so as you'd be losing the time skipping between
> stripes that you'd gain on reading from multiple drives concurrently).
> You do get a performance advantage with multiple drives in that more
> requests can be handled concurrently though.
> 
> > 3) From what I have read so far, a RAID10 'far' configuration on 2 disks
> > provides increased read performance over an equivalent 'near'
> > configuration, however I am struggling to understand exactly why. I
> > understand the difference between the 'near' and 'far' configurations,
> > but not *why* this should provide any speed increases. What am I missing?
> > 
> The speed increase is because the read speed varies across a disk -
> reading from the outer sectors is faster than reading from the inner
> sectors. The 'far' configuration means that all data is available on the
> outer half of the drive, so reads should mostly be served from there.

Also for sequential reads you get something like double the performance,
compared to raid1. This is because the layout of "far" is the same as
raid0, so you get striping performance. 

> > 4) I have performed a(n admittedly fairly basic) benchmark on the same
> > system under two different configurations - RAID10,n2 and RAID10,f2
> > using tiobench with default settings. In short, the results showed a
> > significant speed increase for single-threaded sequential reads (83Mb/s
> > vs 166MB/s), some increase for single-threaded random reads (1.85Mb/s vs
> > 2.25Mb/s), but a decrease for every other metric, including
> > multi-threaded sequential and random reads. I was expecting write
> > performance to decrease under RAID10,f2 compared to RAID10,n2, but am
> > slightly confused about the multi-threaded read performance. Is it my
> > expectations or my testing that needs to be reviewed?
> > 
> I'm not sure about that one - I'd expect multi-threaded reads to be at
> least as good on a "far" layout as a "near", but I've not actually run
> any benchmarks myself.

I would also think multi-threaded sequential reads to be faster with
"far". Especially I would think that an additional sequential read on a
running file system would be much faster than with "near" or raid1. 
That is my experience with the systems I run here.

There are some figures on performance in:
https://raid.wiki.kernel.org/index.php/Performance
That indicates that the multi-threaded random reads are also better, 
in the order of 40 % better that "near", and 125 % better than raid1.
This was on a quite old kernel, but I don't think things have improved
much in this area in the kernel. It would be nice to also have your
numbers on the page.

best regards
keld

  reply	other threads:[~2011-03-02 10:14 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-02  9:04 RAID10 Performance Aaron Sowry
2011-03-02  9:24 ` Robin Hill
2011-03-02 10:14   ` Keld Jørn Simonsen [this message]
2011-03-02 14:42 ` Mark Knecht
2011-03-02 14:47   ` Mathias Burén
2011-03-02 15:02 ` Mario 'BitKoenig' Holbe
  -- strict thread matches above, loose matches on Subject: below --
2012-07-26 14:16 Adam Goryachev
2012-07-27  7:07 ` Stan Hoeppner
2012-07-27 13:02   ` Adam Goryachev
2012-07-27 18:29     ` Stan Hoeppner
2012-07-28  6:36       ` Adam Goryachev
2012-07-28 15:33         ` Stan Hoeppner
2012-08-08  3:49           ` Adam Goryachev
2012-08-08 16:59             ` Stan Hoeppner
2012-08-08 17:14               ` Roberto Spadim
2012-08-09  1:00               ` Adam Goryachev
2012-08-09 22:37                 ` Stan Hoeppner
2012-07-27 12:05 ` Phil Turmel
2011-03-02  8:50 Aaron Sowry
2011-03-02 11:16 ` NeilBrown

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=20110302101408.GC20427@www2.open-std.org \
    --to=keld@keldix.com \
    --cc=aaron@cendio.se \
    --cc=linux-raid@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).