RAID10 Performance
am 02.03.2011 10:04:19 von Aaron Sowry
Hello,
I have been testing different RAID configurations on a 2-disk setup, and
have a couple of questions regarding performance. The information I have
found online so far seems to contradict itself fairly regularly so I was
hoping for a more coherent answer :)
1) As I understand it, a RAID10 'near' configuration using two disks is
essentially equivalent to a RAID1 configuration. Is this correct?
2) Does md RAID1 support 'striped' reads? If not, is RAID1 read
performance in any way related to the number of disks in the array?
3) From what I have read so far, a RAID10 'far' configuration on 2 disks
provides increased read performance over an equivalent 'near'
configuration, however I am struggling to understand exactly why. I
understand the difference between the 'near' and 'far' configurations,
but not *why* this should provide any speed increases. What am I missing?
4) I have performed a(n admittedly fairly basic) benchmark on the same
system under two different configurations - RAID10,n2 and RAID10,f2
using tiobench with default settings. In short, the results showed a
significant speed increase for single-threaded sequential reads (83Mb/s
vs 166MB/s), some increase for single-threaded random reads (1.85Mb/s vs
2.25Mb/s), but a decrease for every other metric, including
multi-threaded sequential and random reads. I was expecting write
performance to decrease under RAID10,f2 compared to RAID10,n2, but am
slightly confused about the multi-threaded read performance. Is it my
expectations or my testing that needs to be reviewed?
Cheers,
Aaron
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: RAID10 Performance
am 02.03.2011 10:24:25 von Robin Hill
--UlVJffcvxoiEqYs2
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Wed Mar 02, 2011 at 10:04:19AM +0100, Aaron Sowry wrote:
> Hello,
>=20
> I have been testing different RAID configurations on a 2-disk setup, and
> have a couple of questions regarding performance. The information I have
> found online so far seems to contradict itself fairly regularly so I was
> hoping for a more coherent answer :)
>=20
> 1) As I understand it, a RAID10 'near' configuration using two disks is
> essentially equivalent to a RAID1 configuration. Is this correct?
>=20
It should be, yes, though I've not actually sat down and verified this.
> 2) Does md RAID1 support 'striped' reads? If not, is RAID1 read
> performance in any way related to the number of disks in the array?
>=20
No, it doesn't support 'striped' reads (there's no real performance
advantage to doing so as you'd be losing the time skipping between
stripes that you'd gain on reading from multiple drives concurrently).
You do get a performance advantage with multiple drives in that more
requests can be handled concurrently though.
> 3) From what I have read so far, a RAID10 'far' configuration on 2 disks
> provides increased read performance over an equivalent 'near'
> configuration, however I am struggling to understand exactly why. I
> understand the difference between the 'near' and 'far' configurations,
> but not *why* this should provide any speed increases. What am I missing?
>=20
The speed increase is because the read speed varies across a disk -
reading from the outer sectors is faster than reading from the inner
sectors. The 'far' configuration means that all data is available on the
outer half of the drive, so reads should mostly be served from there.
> 4) I have performed a(n admittedly fairly basic) benchmark on the same
> system under two different configurations - RAID10,n2 and RAID10,f2
> using tiobench with default settings. In short, the results showed a
> significant speed increase for single-threaded sequential reads (83Mb/s
> vs 166MB/s), some increase for single-threaded random reads (1.85Mb/s vs
> 2.25Mb/s), but a decrease for every other metric, including
> multi-threaded sequential and random reads. I was expecting write
> performance to decrease under RAID10,f2 compared to RAID10,n2, but am
> slightly confused about the multi-threaded read performance. Is it my
> expectations or my testing that needs to be reviewed?
>=20
I'm not sure about that one - I'd expect multi-threaded reads to be at
least as good on a "far" layout as a "near", but I've not actually run
any benchmarks myself.
Cheers,
Robin
--=20
___ =20
( ' } | Robin Hill |
/ / ) | Little Jim says .... |
// !! | "He fallen in de water !!" |
--UlVJffcvxoiEqYs2
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
iEYEARECAAYFAk1uDMgACgkQShxCyD40xBLJSwCgmw0AfJ3bhJBWqquP5Edy MMf+
9yMAoJxSiBSqjTbqzjApxi2jsL1EZ5uF
=oqb3
-----END PGP SIGNATURE-----
--UlVJffcvxoiEqYs2--
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: RAID10 Performance
am 02.03.2011 11:14:09 von Keld Simonsen
On Wed, Mar 02, 2011 at 09:24:25AM +0000, Robin Hill wrote:
> On Wed Mar 02, 2011 at 10:04:19AM +0100, Aaron Sowry wrote:
>
> > Hello,
> >
> > I have been testing different RAID configurations on a 2-disk setup, and
> > have a couple of questions regarding performance. The information I have
> > found online so far seems to contradict itself fairly regularly so I was
> > hoping for a more coherent answer :)
> >
> > 1) As I understand it, a RAID10 'near' configuration using two disks is
> > essentially equivalent to a RAID1 configuration. Is this correct?
> >
> It should be, yes, though I've not actually sat down and verified this.
>
> > 2) Does md RAID1 support 'striped' reads? If not, is RAID1 read
> > performance in any way related to the number of disks in the array?
> >
> No, it doesn't support 'striped' reads (there's no real performance
> advantage to doing so as you'd be losing the time skipping between
> stripes that you'd gain on reading from multiple drives concurrently).
> You do get a performance advantage with multiple drives in that more
> requests can be handled concurrently though.
>
> > 3) From what I have read so far, a RAID10 'far' configuration on 2 disks
> > provides increased read performance over an equivalent 'near'
> > configuration, however I am struggling to understand exactly why. I
> > understand the difference between the 'near' and 'far' configurations,
> > but not *why* this should provide any speed increases. What am I missing?
> >
> The speed increase is because the read speed varies across a disk -
> reading from the outer sectors is faster than reading from the inner
> sectors. The 'far' configuration means that all data is available on the
> outer half of the drive, so reads should mostly be served from there.
Also for sequential reads you get something like double the performance,
compared to raid1. This is because the layout of "far" is the same as
raid0, so you get striping performance.
> > 4) I have performed a(n admittedly fairly basic) benchmark on the same
> > system under two different configurations - RAID10,n2 and RAID10,f2
> > using tiobench with default settings. In short, the results showed a
> > significant speed increase for single-threaded sequential reads (83Mb/s
> > vs 166MB/s), some increase for single-threaded random reads (1.85Mb/s vs
> > 2.25Mb/s), but a decrease for every other metric, including
> > multi-threaded sequential and random reads. I was expecting write
> > performance to decrease under RAID10,f2 compared to RAID10,n2, but am
> > slightly confused about the multi-threaded read performance. Is it my
> > expectations or my testing that needs to be reviewed?
> >
> I'm not sure about that one - I'd expect multi-threaded reads to be at
> least as good on a "far" layout as a "near", but I've not actually run
> any benchmarks myself.
I would also think multi-threaded sequential reads to be faster with
"far". Especially I would think that an additional sequential read on a
running file system would be much faster than with "near" or raid1.
That is my experience with the systems I run here.
There are some figures on performance in:
https://raid.wiki.kernel.org/index.php/Performance
That indicates that the multi-threaded random reads are also better,
in the order of 40 % better that "near", and 125 % better than raid1.
This was on a quite old kernel, but I don't think things have improved
much in this area in the kernel. It would be nice to also have your
numbers on the page.
best regards
keld
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: RAID10 Performance
am 02.03.2011 15:42:09 von Mark Knecht
On Wed, Mar 2, 2011 at 1:04 AM, Aaron Sowry wrote:
>
> 2) Does md RAID1 support 'striped' reads? If not, is RAID1 read
> performance in any way related to the number of disks in the array?
RAID1 is all about redundancy/reliability and not about improving
performance as measured by MB/S.
- Mark
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: RAID10 Performance
am 02.03.2011 15:47:41 von mathias.buren
On 2 March 2011 14:42, Mark Knecht wrote:
> On Wed, Mar 2, 2011 at 1:04 AM, Aaron Sowry wrote:
>
>>
>> 2) Does md RAID1 support 'striped' reads? If not, is RAID1 read
>> performance in any way related to the number of disks in the array?
>
>
> RAID1 is all about redundancy/reliability and not about improving
> performance as measured by MB/S.
>
> - Mark
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid"=
in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.ht=
ml
>
Sure,
But if you can get improved performance without impacting
redundancy/reliability, then why not?
Kind regards,
// Mathias
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" i=
n
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: RAID10 Performance
am 02.03.2011 16:02:46 von Mario Holbe
Aaron Sowry wrote:
> 1) As I understand it, a RAID10 'near' configuration using two disks is
> essentially equivalent to a RAID1 configuration. Is this correct?
Yes.
> 2) Does md RAID1 support 'striped' reads? If not, is RAID1 read
No.
RAID1 stores it's data like:
disk1: ABCDEF
disk2: ABCDEF
You cannot stripe there. You can read A from disk1 and B from disk2, C
from disk1 etc. (and linux md does that - for bigger chunks: have a look
at read balancing), but you have to seek on both disks to skip the data
which has already been read from the other disk. And seeking on current
disks is approximately as fast or slow as reading for short distances.
> performance in any way related to the number of disks in the array?
Yes. The more disks you have in the array the more read()s can be served
parallel: One process can read A, another process can read C and both
reads can be served parallel without interfering each other. The more
disks you have the more reads can be served parallel.
> 3) From what I have read so far, a RAID10 'far' configuration on 2 disks
> provides increased read performance over an equivalent 'near'
> configuration, however I am struggling to understand exactly why. I
> understand the difference between the 'near' and 'far' configurations,
> but not *why* this should provide any speed increases. What am I missing?
See 2)
The 'far' configuration stores data in the first half of the disk like
RAID0:
disk1: ACE
disk2: BDF
Hence you can read the stream ABCDEF without seeking inbetween on any of
the disks.
> 4) I have performed a(n admittedly fairly basic) benchmark on the same
> system under two different configurations - RAID10,n2 and RAID10,f2
> using tiobench with default settings. In short, the results showed a
> significant speed increase for single-threaded sequential reads (83Mb/s
> vs 166MB/s),
.... as one would expect.
> some increase for single-threaded random reads (1.85Mb/s vs
> 2.25Mb/s), but a decrease for every other metric, including
> multi-threaded sequential and random reads. I was expecting write
This does heavily depend on the size of the data you read and the chunk
size of the RAID10,f, and the location(s) of the data on disk.
Note: as you can see in 3) reading the stream ABCDEF utilizes two disks,
i.e. keeps them busy. What benefits a single process here will hurt
multiple processes: no other parallel reads can be served and reading
other data semi-parallel requires both disks to seek which decreases
performance.
regards
Mario
--
There is nothing more deceptive than an obvious fact.
-- Sherlock Holmes by Arthur Conan Doyle
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html