> Can anyone explain why a software raid5 array of N disks has
> significantly lower read performance than a raid0 array of N-1 disks?

There's no parity calculation overhead in RAID0.

> I'm using 8 Seagate ST317242A drives in UDMA-66 mode, with 4 Promise
> Ultra-66 cards, one drive per channel.  This is with linux-2.2.10
> + 2.2.10.uniform-ide-6.20.eridanus.patch from http://www.kernel.dk/ide,
> + raid0145-19990724-2.2.10.bz2 and raidtools-19990724-0.90.tar.bz2.

Would you mind publishing your U/66 init setup and motherboard
hardware?  I
don't know that anyone's published a working U/66 on pre 2.3.x kernels.

> On a Pentium II/400 I get ~60MB/s reading a file with raid0 on 6 drives,
> but <40MB/s with raid5 on 8 drives.

Sustained?  How are you measuring?  The ST317242A's are rated at a
fairly typical 8.5 MBytes/sec sustained.  Your numbers are pretty good.

My experience is with a single U/33 and interleaved RAID0 pairs so that
each drive is on a separate controller channel (hde+hdg, hdf+hdh).  By
doing this I was able to almost double single drive throughput for small
reads (~18MB/s for IBM 6.4GB@5400RPM).  Larger sustained sequential I/O
that is smaller than available memory buffer is 43MB/s read, 22MB/s
write.  Bigger than memory buffer is consistently 13MB/s, writes
12MB/s.  Never tried multiple controllers.  Out of slots :)

Boring detail:

[tim@asus tim]# uname -a
Linux asus 2.0.37 #12 Mon Jul 26 02:39:21 PDT 1999 i686 unknown
[tim@asus tim]# dmesg | grep Mem
Memory: sized by int13 0e801h
Memory: 321672k/327616k available (744k kernel code, 384k reserved,
4816k data)
[tim@asus tim]# rpm -qa | grep raid
raidtools-0.50beta10-2
[tim@asus tim]# cat /proc/mdstat
Personalities : [2 raid0] [3 raid1]
read_ahead 8 sectors
md0 : active raid0 hde3 hdg3 5221120 blocks 16k chunks
md1 : inactive
md2 : inactive
md3 : inactive
[tim@asus tim]# hdparm -iv /dev/hde     # note: hdg is identical

/dev/hde:
 multcount    =  0 (off)
 I/O support  =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 790/255/63, sectors = 12692736, start = 0

 Model=IBM-DHEA-36481, FwRev=HP6OA20C, SerialNo=SG0SG0K4
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=12592/16/63, TrkSize=0, SectSize=0, ECCbytes=28
 BuffType=3(DualPortCache), BuffSize=472kB, MaxMultSect=16, MultSect=off
 DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
 CurCHS=790/255/63, CurSects=12692736, LBA=yes, LBAsects=12692736
 tDMA={min:120,rec:120}, DMA modes: sword0 sword1 sword2 mword0 mword1
mword2 
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, PIO modes: mode3 mode4 


[tim@asus tim]# hdparm -tT /dev/hd{e,g}1 /dev/md0

/dev/hde1:
 Timing buffer-cache reads:   64 MB in  0.61 seconds =104.92 MB/sec
 Timing buffered disk reads:  32 MB in  3.31 seconds = 9.67 MB/sec

/dev/hdg1:
 Timing buffer-cache reads:   64 MB in  0.59 seconds =108.47 MB/sec
 Timing buffered disk reads:  32 MB in  3.31 seconds = 9.67 MB/sec

/dev/md0:
 Timing buffer-cache reads:   64 MB in  0.59 seconds =108.47 MB/sec
 Timing buffered disk reads:  32 MB in  1.74 seconds =18.39 MB/sec

[tim@asus tim]# time dd if=/dev/zero of=/raid/1.tmp bs=1024 count=250k
256000+0 records in
256000+0 records out
0.280u 8.390s 0:21.16 40.9%     0+0k 0+0io 83pf+0w
[tim@asus tim]# ls -l /raid/1.tmp
-rw-r--r--   1 root     310      262144000 Jul 29 03:06 /raid/1.tmp
[tim@asus tim]# echo 262144000/21.16 | bc -q
12388657
[tim@asus tim]# time dd if=/raid/1.tmp of=/dev/null bs=1024
256000+0 records in
256000+0 records out
0.210u 5.960s 0:19.78 31.1%     0+0k 0+0io 64083pf+0w
[tim@asus tim]# echo 262144000/19.78 | bc -q
13252982

[tim@asus tim]# time dd if=/dev/zero of=/raid/1.tmp bs=1024 count=128k
131072+0 records in
131072+0 records out
0.200u 3.660s 0:06.07 63.5%     0+0k 0+0io 84pf+0w
[tim@asus tim]# ls -l /raid/1.tmp
-rw-r--r--   1 root     310      134217728 Jul 29 03:14 /raid/1.tmp
[tim@asus tim]# echo 134217728/6.07 | bc -q
22111652
[tim@asus tim]# time dd if=/raid/1.tmp of=/dev/null bs=1024
131072+0 records in
131072+0 records out
0.120u 2.960s 0:03.12 98.7%     0+0k 0+0io 32853pf+0w
[tim@asus tim]# echo 134217728/3.12 | bc -q
43018502

-- 
timothymoore    "Everything is permitted.  Nothing is forbidden."
bigfoot                                            WS Burroughs.
com

Reply via email to