All of lore.kernel.org
 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 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.