On Thu, 27 Apr 2000, Corin Hartland-Swann wrote:
>
>
> BTW, I was pleased to discover that Linux had absolutely no problems with
> Ultra160-SCSI - 96MB/s isn't bad at all, is it?
>
> I was hoping that RAID-1 would 'stripe' reads between the disks,
> increasing read performance to RAID-0 levels, but leaving write
> performance at single-disk levels. Does anyone know why it doesn't do
> this?
>
> If RAID-1 doesn't 'stripe' the reads, then it seems that my best bet is
> going for RAID-5 over 4 disks. Does anyone have any comments and/or
> suggestions about doing this?
>
By default the 2.2.14-0.90 raidtools raid1 implementation round robins the
disks accesses on reads. This resembles striping in raid0 sense.
However due to difference in data layout, striping is not
very effective way in raid1 case. The authors of 0.90 code
aknowledged this problem and if you look at raid1.c code there
is comments that read balancing should implemented better.
So I tried to make a weak shot. I tried to make
things better with balacing reads by assigning them separately to
disk which would serve them quickest. In other words, it chooses the disk
which head is closest to the requested block.
This shows rather good improvement in seek performance,
but will benefit in sequential read performance as well,
if you have multiple sequential readers.
You can find the patch at:
http://www.icon.fi/~mak/raid1/
Some measurements of mine at:
http://www.icon.fi/~mak/raid1/tests/
btw. if you are building heavy multiuser multiprocess server
you seldom care so much for the sequential throughput, but should
instead concentrate on minimizing seek times.
For simulating even closely IO of such a server, you need
multithreading or multiprocess benchmark also. Try concurrent
bonnie or tiobench. Otherwise you think you are measuring something
but you are actually measuring something different :)
tiobench can be found at:
http://tiobench.sourceforge.net
or
http://www.icon.fi/~mak/tiobench
I am very intrested to see if your arrays scale
better with this patch. So if you decide to benchmark,
please post the results! :)
-- Mika