linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Brown <david@westcontrol.com>
To: linux-raid@vger.kernel.org
Subject: Re: Striping does not increase performance.
Date: Tue, 13 Mar 2012 15:12:13 +0100	[thread overview]
Message-ID: <jjnl2g$nir$1@dough.gmane.org> (raw)
In-Reply-To: <CAKFseUMvepXdGumQVoei_TE3Ms-jK9U4BoKOVjaiz9PdOAU8pg@mail.gmail.com>

On 13/03/2012 12:55, Caspar Smit wrote:
> Op 12 maart 2012 15:20 heeft David Brown<david@westcontrol.com>  het
> volgende geschreven:
>> On 12/03/2012 13:34, Caspar Smit wrote:
>>>
>>> Hi all,
>>>
>>> I don't know exactly which mailinglists to use for this one so I hope
>>> i used the right ones.
>>>
>>> I did some performance testing on a new system and found out some
>>> things I couldn't explain or didn't expect.
>>> At the end are some questions I hope to get answered to explain the
>>> tings i'm seeing in the test.
>>>
>>>
>>> For the next test I wanted to see if i could double the performance by
>>> striping an LV over 2 md's (so instead of using 10 disks/spindles, use
>>> 20 disks/spindles)
>>>
>>> So i added md1 to the VG as PV.
>>>
>>> Created a fresh LV striped across the two PV's using a 64KB stripe
>>> size and ran the test again.
>>>
>>>
>>> Now the total IO's in 10 seconds are 16x larger than before. 190464 /
>>> 10 = 19046,4 / 16 = 1190,4 /16 = the reported 75 IOPS above.
>>> So the 64KB blocks seem to be split into 4KB blocks (64 / 16 = 4)
>>> which results in a way larger total IO's.
>>> The IO's per disk seem to be in 64KB blocks still only now with a
>>> large MERGE figure besides it. (Now 4KB blocks are merged into 64KB
>>> blocks?)
>>>
>>
>> LVM will stripe the data between the two md's with a default stripe size of
>> 4K - thus the first 4K will go to md0, the second to md1, etc.  This is
>> obviously terribly inefficient.  For 8+2 raid6 with 64KB chunks, you want a
>> stripe size of 8x64K = 512KB when you create the logical volume.
>
> Ok, that makes sense.
> But if I for instance had created a 10 disk RAID5 md with a 64KB chunk
> size it would have been a stripe size of 9x64KB=576KB which is not
> possible. So I have to make sure I always create a raid5/6 md where
> the stripe size is a power of 2 when i want to use raid0 and/or LVM
> striping, correct?
>

LVM raid is limited compared to mdadm.  As far as I know, mdadm raid 
chunk sizes are not limited to a power of 2.

Note, however, that I have no experience with more than 4 disks in an 
array, only some theoretical knowledge.  So my suggestions are only 
ideas to try - nothing is guaranteed correct.  Usually someone else on 
this list will jump in if I say something truly stupid, so changing 
chunk sizes is perhaps worth a try.

mvh.,

David


      reply	other threads:[~2012-03-13 14:12 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-12 12:34 Striping does not increase performance Caspar Smit
2012-03-12 12:57 ` Erwan MAS
2012-03-12 13:02   ` Caspar Smit
2012-03-12 13:58     ` Erwan MAS
2012-03-12 14:34       ` Jiri Horky
2012-03-12 16:23         ` John Robinson
2012-03-12 14:33     ` Peter Grandi
2012-03-13 11:44       ` Caspar Smit
2012-03-12 14:20 ` David Brown
2012-03-13 11:55   ` Caspar Smit
2012-03-13 14:12     ` David Brown [this message]

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='jjnl2g$nir$1@dough.gmane.org' \
    --to=david@westcontrol.com \
    --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).