From: Stan Hoeppner <stan@hardwarefreak.com>
To: Ole Tange <ole@tange.dk>
Cc: Igor M Podlesny <for.poige+lsr@gmail.com>, linux-raid@vger.kernel.org
Subject: Re: Software RAID checksum performance on 24 disks not even close to kernel reported
Date: Tue, 05 Jun 2012 09:15:26 -0500 [thread overview]
Message-ID: <4FCE147E.9080900@hardwarefreak.com> (raw)
In-Reply-To: <CA+4vN7zTmKPuyseOO9QhSKO3vjeLpt8pQ76W-MwZg1-YCz+vLA@mail.gmail.com>
On 6/5/2012 2:47 AM, Ole Tange wrote:
> time parallel -j0 dd if={} of=/dev/null bs=1000k count=1k ::: /dev/sd?
^^^^^^^^
Block size, bs, should always be a multiple of the page size lest
throughput will suffer. The Linux page size on x86 CPUs is 4096 bytes.
Using bs values that are not multiples of page size will usually give
less than optimal results due to unaligned memory accesses.
Additionally, you will typically see optimum throughput using bs values
of between 4096 and 16384 bytes. Below and above that throughput
typically falls. Test each page size multiple from 4096 to 32768 to
confirm on your system.
Also, using large block sizes causes dd to buffer large amounts of data
into memory as each physical IO is only 4096 bytes. Thus dd doesn't
actually start writing to disk until each block is buffered into RAM, in
this case just under 1MB. This reduces efficiency by quite a bit vs the
4096 byte block size which allows streaming directly from dd without the
buffering.
> The 900 MB/s was based on my old controller. I re-measured using my
> new controller and get closer to 2000 MB/s in raw (non-RAID)
> performance, which is close to the theoretical maximum for that
> controller (2400 MB/s). This indicated that hardware is not a
> bottleneck.
>
>>> When I set the disks up as a 24 disk software RAID6 I get 400 MB/s
>>> write and 600 MB/s read. It seems to be due to checksuming, as I have
>>> a single process (md0_raid6) taking up 100% of one CPU.
The dd block size will likely be even more critical when dealing with
parity arrays, as non page size blocks will cause problems with stripe
aligned writes.
Since both the Linux page size and all filesystem (EXT, XFS, JFS) block
sizes are 4096 bytes, you should always test dd with bs=4096, as that's
your real world day-to-day target block IO size.
--
Stan
next prev parent reply other threads:[~2012-06-05 14:15 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-04 23:14 Software RAID checksum performance on 24 disks not even close to kernel reported Ole Tange
2012-06-05 1:26 ` Joe Landman
2012-06-05 3:36 ` Igor M Podlesny
2012-06-05 7:47 ` Ole Tange
2012-06-05 11:25 ` Peter Grandi
2012-06-05 20:57 ` Ole Tange
2012-06-06 17:37 ` Peter Grandi
2012-06-05 14:15 ` Stan Hoeppner [this message]
2012-06-05 20:45 ` Ole Tange
2012-06-05 3:39 ` Igor M Podlesny
2012-06-05 7:47 ` Ole Tange
2012-06-05 11:29 ` Igor M Podlesny
2012-06-05 13:09 ` Peter Grandi
2012-06-05 21:17 ` Ole Tange
2012-06-06 1:38 ` Stan Hoeppner
2012-06-05 18:44 ` Ole Tange
2012-06-06 1:40 ` Brad Campbell
2012-06-06 3:48 ` Marcus Sorensen
2012-06-06 11:21 ` Ole Tange
2012-06-06 11:17 ` Ole Tange
2012-06-06 12:58 ` Brad Campbell
2012-06-06 14:11 ` Ole Tange
2012-06-06 16:05 ` Igor M Podlesny
2012-06-06 19:51 ` Ole Tange
2012-06-06 22:21 ` Igor M Podlesny
2012-06-06 22:53 ` Peter Grandi
2012-06-07 3:41 ` Igor M Podlesny
2012-06-07 4:59 ` Stan Hoeppner
2012-06-07 5:22 ` Igor M Podlesny
2012-06-07 9:03 ` Stan Hoeppner
2012-06-07 9:22 ` Igor M Podlesny
2012-06-06 16:09 ` Dan Williams
2012-06-06 19:19 ` Ole Tange
2012-06-06 19:24 ` Dan Williams
2012-06-06 19:26 ` Ole Tange
2012-06-07 4:06 ` Stan Hoeppner
2012-06-07 14:40 ` Joe Landman
2012-06-08 1:23 ` Stan Hoeppner
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=4FCE147E.9080900@hardwarefreak.com \
--to=stan@hardwarefreak.com \
--cc=for.poige+lsr@gmail.com \
--cc=linux-raid@vger.kernel.org \
--cc=ole@tange.dk \
/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.