> The trouble I'm having is that my RAID-1 read performance appears
> substantially worse than just using the same disk partitions directly.
How did you measure bonnie performance on the raw partitions?
-------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
md0 192 5933 86.4 15222 21.8 4172 11.8 5672 81.3 9014 11.2
218.4 4.6
sd0 192 6411 92.0 15072 18.5 4265 11.7 5760 80.6 12069 13.1
201.8 4.5
All computer actions have cost and consequences. The cost for RAID 1 is
double hardware and greater system i/o resources. Consequences are
enhanced data integrity. The only significant thing I can see is block
reads @75% for this particular sample.
Please post averaged results from several bonnie runs of 3x main
memory. Also the output from
'hdparm -tT /dev/md0 /dev/sda7 /dev/sdb6 /dev/md0 /dev/sda7 /dev/sdb6'
and
'time dd if=/dev/zero of=/raid_mount_point/100MBtest bs=1k count=100k &&
\
time dd if=/raid_mount_point/100MBtest of=/dev/null bs=1k && \
time rm -rf /raid_mount_point/100MBtest
> SMP kernel (I only have one 450 MHz PII, but the board has a second
> processor slot that I'll fill eventually). It has 128 MB RAM, and the
> disks in question are identical quantum disks on the same NCR SCSI bus.
Why the SMP kernel when there aren't 2 active CPUs.?
> Personalities : [raid1]
> read_ahead 1024 sectors
> md0 : active raid1 sdb6[1] sda7[0] 8353664 blocks [2/2] [UU]
Please post output from fdisk -l /dev/sda /dev/sdb. If partition
geometry is different between the mirrors you'll get net /dev/md0
results based on the slowest of the pair, plus a pinch of General
Chaotic Behavior as a bonus. The individual component test could have
been the faster of the two /dev/md0 components.
In general raid favors identical geometry and form factor for hardware.
Think 'symmetrical' rather than 'different'.
> mke2fs -b 1024 -i 1536 /dev/md0
Why did you change bytes/inode to 1.5?
Also read the /usr/doc info on calculating stride.
rgds,
tim.
--