linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: keld@keldix.com
To: George Spelvin <linux@horizon.com>
Cc: linux-raid@vger.kernel.org
Subject: Re: Why are reads not balanced across my RAID-1?
Date: Fri, 24 Jan 2014 13:04:48 +0100	[thread overview]
Message-ID: <20140124120448.GA19163@www5.open-std.org> (raw)
In-Reply-To: <20140124104757.8256.qmail@science.horizon.com>

On Fri, Jan 24, 2014 at 05:47:57AM -0500, George Spelvin wrote:
> I was doing some bulk reads on an ext4 file system on
> a simple mirrored device (3.13 x86_64 kernel):
> 
> md2 : active raid1 sdd3[0] sde3[1]
>       1932514496 blocks [2/2] [UU]
>       bitmap: 0/15 pages [0KB], 65536KB chunk
> 
> And I noticed that the reads were all hitting the first disk.
> The second was basically idle.  Here's "dstat -d -D md2,sdd,sde":
> 
> --dsk/md2-----dsk/sdd-----dsk/sde--
>  read  writ: read  writ: read  writ
>  510k   55k: 484k   58k:  27k   58k
>  129M    0 : 129M    0 :  48k    0
>  108M   48k: 108M   60k: 576k   60k
>  123M    0 : 123M 8192B:   0  8192B
>  133M    0 : 133M    0 : 360k    0
>  132M    0 : 132M    0 :  20k    0
>  138M    0 : 138M    0 : 304k    0
>  128M    0 : 128M    0 : 896k    0
>  129M    0 : 129M 4096B:  64k 4096B
>  135M    0 : 135M    0 :  36k    0
>  116M   12k: 116M   24k:  36k   28k
>  117M    0 : 116M 4096B: 632k    0
>  127M    0 : 127M    0 : 288k    0
>  130M    0 : 130M    0 : 336k    0
>  133M    0 : 133M    0 : 212k    0
>  134M    0 : 134M    0 : 304k    0
>  130M    0 : 129M 4096B: 100k 4096B
>  128M    0 : 127M    0 : 280k    0
>  106M   12k: 106M   28k: 372k   28k
>  129M    0 : 129M    0 : 344k    0
>  134M    0 : 134M    0 : 196k    0
>  134M    0 : 134M    0 : 384k    0
>  129M    0 : 129M    0 : 304k    0
> 
> I thought (drivers/md/raid1.c:read_balance()) the driver was
> supposed to do some striping on large reads.
> 
> While 125M/s is nice, more than that would be nicer.
> 
> The drives are identical, but are plugged in to different controllers.
> sdd is on an AMD SB600 controller, while sde is on a PDC42819.
> 
> Is there some knob I need to adjust to make read balancing happen?

The reading is not balanced because it does not make sense to do balanced 
reads for sequential reading. In RAID-1 the disk sectors are consequitive.
So if you would read one sector from one disk, and the following sector from the other disk, 
then the next read from disk 1 would need to skip a full resolvation of the disk,
which may cost something like 8 ms.  So better read contigously from the same disk, and hope
for some other IO request that can use disk 2. 

For sequential reading RAID-10 in the "far" layout make a much more balanced 
reading scheme. You will get somethng like RAID-0 reading speeds here.

Best regards
Keld

  reply	other threads:[~2014-01-24 12:04 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-24 10:47 Why are reads not balanced across my RAID-1? George Spelvin
2014-01-24 12:04 ` keld [this message]
2014-01-24 13:33   ` George Spelvin
2014-01-25  1:48     ` keld
2014-01-24 14:56   ` Matt Garman
2014-01-24 16:50     ` Mathias Burén
2014-01-24 17:49     ` keld
2014-01-24 18:22       ` Roberto Spadim
2014-01-25  1:18         ` George Spelvin
2014-01-30 20:05           ` Phillip Susi
2014-01-25 17:52         ` Robert L Mathews

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=20140124120448.GA19163@www5.open-std.org \
    --to=keld@keldix.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=linux@horizon.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;
as well as URLs for NNTP newsgroup(s).