Brian Candler wrote:
On Sun, Jan 28, 2007 at 12:29:21AM -0800, Joe wrote:
Why is the write performance of my RAID controller so slow?
...
(write test running bsd kernel)
# dd if=/dev/zero of=/data/testfile count=20000 bs=128k
20000+0 records in
20000+0 records out
2621440000 bytes transferred in 113.978 secs (22999380 bytes/sec)
That's about 22MB per second. Sounds plausible to me, given that RAID5
arrays intrinsically have very poor write performance. What value were you
expecting to see?
For comparison, what do you get for the same test but for read speed? i.e.
# dd if=/data/testfile of=/dev/null bs=128k
RAID5 writes are slow because a single block write involves 4 disk
operations (read old data block, read old parity, write new data block,
write new parity). A non-volatile write-through cache can speed things up to
a degree though.
If you want high write performace, try setting up your six-disk array as
three separate mirrored pairs, or as a single RAID-01 (strip/mirror) and see
what you get. Of course your available storage size will be reduced to
3/5ths of what it was.
Regards,
Brian.
Some more tests:
# dd if=/dev/zero of=./testfile count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes transferred in 16.354 secs (31306797 bytes/sec)
# dd if=./testfile of=/dev/null count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes transferred in 6.013 secs (85137347 bytes/sec)
So is 30MBps acceptable write speed for RAID 5 on a Compaq Smart Array
64xx controller?
Could this be a driver issue?
BTW,
I have another box with the same controller, but in 2 disks in RAID 0.
# bioctl -h ciss0
Volume Status Size Device
ciss0 0 Online 136G sd0 RAID0
0 Online 67.8G 0:0.0 noencl <COMPAQ BD0728A4B4
1 Online 67.8G 0:1.0 noencl <COMPAQ BD0728A4B4
# dd if=/dev/zero of=/nsm/testfile count=20000 bs=128k
20000+0 records in
20000+0 records out
2621440000 bytes transferred in 29.696 secs (88274982 bytes/sec)