And lo, Stephen Costaras saith unto me:
>
> Seeing as we're all using RAID here, someone might know how to eek
> better performance out of a I/O subsystem.
>
> I'm using a Dual PPro system (Tyan S1668) with 3 Mylex KT-958
> controllers. Each controller has 3 Seagate Barracuda ST15150W
> drives (fast/wide, approx. 5MB/sec internal transfer bandwidth).
> I have all nine disks in a RAID 5 array, so I figure 15*3=45MB/sec
> usable bandwidth. Raidtab has everything configured for 64k chunks.
> I require fast random I/O.
For random I/O, you want each access assigned to just one disk, so
you need the per-disk stripe size to be at least as big as the reads;
I *think* this is what the chunk size is, but I'm not certain. On the
other hand, to do random writes fast you want the chunk size to be
only slightly larger than the write size, or exactly the write size if
you can...and if I understand RAID correctly, parity must be generated
from n-1 of the n disks in the array and written to the other disk
(which stores the parity for that stripe, rather than a portion of
the data)...which means n-2 random reads for each small random write...
If you need fast random writes, perhaps RAID 0 would be better? If
you need fast random writes and redundancy, RAID 0+1 might be the
ticket, especially if you need random write speed and redundancy
but don't need so much capacity.
> I was thinking about upgrading to either
> all newer barracuda drives (8MB internal transfer per drive) or Cheetah's
> (12MB internal transfer per drive). But my question is will these
> drives give me better performance for random I/O? Anyone here have any
> real-world figures?
IMHO you shouldn't waste money on intermediate speed drives. If you
truly need speedy random I/O, you need the lowest seek time and the
lowest rotational latency you can afford, especially as track switch
times and track-to-track seek times rise from 0.5 ms (on the likes of
the Ultrastar 2XP, Atlas II, or the early Barrcudas) to 3 ms on more
recent 7200 RPM Barracuda models. Blame rising areal density (in the
form of falling distances between tracks, requiring much finer head
positioning), but that's the case. If all you need is transfer rate
and capacity, the Viking II, Ultrastar 2ES, or latest low-end 7200
RPM Seagate drive will give that to you.
> (system has 256MB memory, CPU utilization is around 50-60% of one CPU,
> kernel=
> 2.0.35)
> -------Sequential Output-------- ---Sequential
> Input-- --Random--
> -Per Char- --Block--- -Rewrite-- -Per
> Char- --Block--- --Seeks---
> Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec
> %CPU
> news:md0 1000 6213 89.0 11416 50.6 4412 34.4 6813 73.3 8395 23.8 149.7
> 10.0
>
Remember with Bonnie to use top or some other tool to measure CPU usage,
as time spent by raid5d (e.g.) isn't seen by Bonnie...but the key issue
is certainly to characterize your need properly, then apply the best RAID
arrangement to meet that need.
Keith
--
"The avalanche has already started; |Linux: http://www.linuxhq.com |"Zooty,
it is too late for the pebbles to |KDE: http://www.kde.org | zoot
vote." Kosh, "Believers", Babylon 5 |Keith: [EMAIL PROTECTED] | zoot!"
www.midwinter.com/lurk/lurker.html |http://www.enteract.com/~kwrohrer | --Rebo