From: Peter Landmann <sfrazt@googlemail.com>
To: linux-raid@vger.kernel.org
Subject: Re: RAID 5 doesn't scale
Date: Wed, 3 Apr 2013 15:31:18 +0000 (UTC) [thread overview]
Message-ID: <loom.20130403T171527-93@post.gmane.org> (raw)
In-Reply-To: 515C2C3C.3020400@hardwarefreak.com
Stan Hoeppner <stan <at> hardwarefreak.com> writes:
>
> On 4/3/2013 6:00 AM, Peter Landmann wrote:
>
> You didn't mention your stripe_cache_size value. It'll make a lot of
> difference. Make sure it's at least 4096. The default is 256.
You are very right.
I increased it to 4096 - 32768 and the performance increased much.
Also i played a bit with deadline parameters and it helped also to increase
performance.
With Raid 5 and 6 SSDs i got 33936 IOPS (fio settings as before) which is not
far away from theoretical 40000 (i know from former tests that the performance
could be increased for some more jobs).
For your info: With Raid 6 and 6 SSDs i got 32526 IOPS which is also a very good
result.
So i conclude that there is no (big) problem with scalability at this hw level,
right?
>
> ^^^^^^^^^^^ Even when using AIO you're still serialized when using a
> single thread, regardless of queue depth. Thus there is non trivial
> latency between IO operations. Retest with only these global parameters
> to get some concurrency. Along with a larger stripe cache your numbers
> should go up substantially. This test runs 4 threads/core to ensure you
> saturate md with IO.
>
> [global]
> zero_buffers
> numjobs=24
> thread
> group_reporting
> blocksize=4096
> ioengine=libaio
> iodepth=16
> direct=1
> size=8G
Yeah, that brings me near 40k IOPS (Raid 5, 6 SSDs)
>
> > So you have an idea why the real performance is only 50% of the theoretical
> > performance?
>
> Three reasons: IO latency, limited stripe_cache_size, parity RMW
>
> > No cpu core is at its limits.
>
> Because you're not cycle limited but latency limited. With this FIO
> test your CPU burn should increase a bit.
>
> > As i said in my other post. I would be interested to solve the problem but i
> > have problems to identify it.
>
> Note also that you're doing 4KB random writes against RAID5. This is
> going to generate substantial RMW cycles. The Intel X25-M G2 is not a
> speed daemon. Its published max 4KB IOPS throughput is for purely
> random writes, not the read+write pattern created by parity RMW. So
> while your random read should get a nice jump with this test, your
> random write may not improve as much. The limitation here is a function
> of the SSD controller on the X25-M G2, not md/RAID5. If you test 5
> drives in md/RAID0 you'll see a bump in random write IOPS.
FYI: The scheduler makes the difference. If you alternate writes and reades in
small steps (R W R R W R W W R ..) then the performce decreases heavily. If you
group read and write operations (20xW 20xR 20xW ..)then the performance will be
better. Tested it without raid and a patched fio (and noop scheduler). But
deadline scheduler can reach the same i learned.
Thx for your informations and hints
Peter
next prev parent reply other threads:[~2013-04-03 15:31 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-03 11:00 RAID 5 doesn't scale Peter Landmann
2013-04-03 11:21 ` Benjamin ESTRABAUD
2013-04-03 18:34 ` Martin Wilck
2013-04-03 20:38 ` Peter Landmann
2013-04-04 13:40 ` Benjamin ESTRABAUD
2013-04-03 13:18 ` Stan Hoeppner
2013-04-03 15:23 ` keld
2013-04-03 15:31 ` Peter Landmann [this message]
2013-04-03 18:35 ` Stan Hoeppner
2013-04-03 18:23 ` Martin Wilck
2013-04-03 20:36 ` Peter Landmann
2013-04-03 21:19 ` Peter Landmann
2013-04-03 21:24 ` Stan Hoeppner
2013-04-03 21:29 ` Peter Landmann
2013-04-03 21:15 ` Stan Hoeppner
2013-04-03 19:56 ` Roy Sigurd Karlsbakk
2013-04-03 21:12 ` Peter Landmann
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=loom.20130403T171527-93@post.gmane.org \
--to=sfrazt@googlemail.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