Re: RAID10 Performance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Aaron Sowry <aaron@xxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux