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
next prev parent 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).