Atrocious RAID performance on PE2400

Hubbard, David dhubbard at
Sun Jun 24 11:40:01 CDT 2001

Hello all,
	I've got a Dell PowerEdge 2400 with the embedded
PERC 2/si activated.  I have two raid 5 arrays of three
disks, the first (sda1), is three 7200 rpm 9 gig drives
from Quantum.  The second (sdb1) is three 10k rpm 18 gig
drives from Seagate.  The OS is currently RedHat linux
v6.2 running the RedHat version of the 2.2.19 enterprise
kernel, 2.2.19-6.2.1enterprise.  I'm obviously using the
built-in kernel aacraid drivers for my perc.

I've noticed what I felt was poor disk performance so
I started looking into it further.  In the past, I've
used a classic unix utility called bonnie to benchmark
disks, it's simple but it works.  Here's where you can
find it and some newer alternatives:

So using Bonnie, I wrote out 2 gig files to both of my
raid 5 arrays, listed in the Bonnie output graph below
as sda1 and sda2.  I received back the horrible spec of
being able to write no more than 4.4 Megs per second
on the 10000 rpm array!  I could successfully read at
a good rate of 44 Megs per second when bonnie used
block reads, so I would think that means there isn't
a SCSI problem but more of a problem with this Perc
2/si doing writes.  Is there something I can do to
increase the performance?  You'll see that also in the
graph I ran the benchmark on a Dell PE1300, also running
linux 2.2.19, but using an older PERC 2, the one based
on the AMI Megaraid controller (AMI MegaRAID 3.13),
and it managed to write out 15 MB/sec on mirrored 7200
rpm drives!  It even read faster for single character
reads.  How is the older box using an older PERC2 with
mirrored 7200 rpm drives able to destroy my newer 2400
using a Perc 2/Si with a 10000 rpm raid 5 array?  I
can understand a small write penalty, but not 10 Megs
a second worth of write penalty.  For real embarrassment,
I ran the test on an old box of mine with a 10 gig IDE
drive.  It came within 1 MB/sec of matching the performance
of my Perc 2/Si 10,000 rpm RAID 5 array, if that doesn't
tell you there's something wrong, nothing will. :-)

Here's the output from the Bonnie:
sda1     = Perc 2/Si with 7200 rpm raid 5 array of three
sdb1     = Perc 2/Si with 10k rpm raid 5 array of three
1300perc = Perc 2 (AMI) with 7200 rpm mirror
old-ide  = An old box with an ATA/33 IDE drive.

              -------Sequential Output-------- ---Sequential Input--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec
sda1     2000  3789 38.0  4123  2.1  3673  4.7  7392 75.2 32579 15.2 501.3
sdb1     2000  4374 44.2  4440  2.4  3190  4.3  6877 65.8 44081 19.8 457.2
1300perc 2000 11013 98.4 15056 11.1 10663 15.2 10522 87.1 27613 10.3 209.7
old-ide  2000  2542 96.5  3581 81.2  1812 52.3  2831 90.6  4258 88.3  80.7

I did some digging around in the afacli raid controller
interface program.  If I do a "container show cache 0"
and 1 for my two arrays, it tells me:

AFA0> container show cache 0
Executing: container show cache 0

Global Container Read Cache Size  : 0
Global Container Write Cache Size : 51380224

Read Cache Setting        : ENABLE
Write Cache Setting       : ENABLE ALWAYS
Write Cache Status        : Inactive, write cache not supported

AFA0> container show cache 1
Executing: container show cache 1

Global Container Read Cache Size  : 0
Global Container Write Cache Size : 51380224

Read Cache Setting        : ENABLE
Write Cache Setting       : ENABLE WHEN PROTECTED
Write Cache Status        : Inactive, write cache not supported

Why does it show write cache as being not supported?  Can
I enable it somehow?  Even without it though, those drives
should still show much better performance.

Any ideas would be extremely helpful, thanks,


More information about the Linux-PowerEdge mailing list