Re: RAID5 performance

From: Juha Laiho (Juha.Laiho_at_iki.fi)
Date: 08/30/03


Date: Sat, 30 Aug 2003 08:32:00 GMT

mru@users.sourceforge.net (=?iso-8859-1?q?M=E5ns_Rullg=E5rd?=) said:
>I just finished setting up a RAID5 array of four new Seagate IDE
>disks. To my surprise, the read speed of this array is only 28 MB/s,
>even though the individual disks report >40 MB/s, all as per hdparm
>-t. Is this what it's supposed to be like? I read in the
>Software-RAID-HOWTO that read performance of RAID5 would be similar to
>RAID0.

How do you have the disks attached? Do any two of the disks share
a common IDE channel (so, are any two disks attached to the same
IDE data cable)?

If you have two IDE disks sharing a channel, that'll be the most probable
reason for your performance issue, as IDE bus doesn't support concurrent
device access. So, when an access request is made to one drive on the bus,
there will be no other activity on the bus until that one request is
completed. Only after that it is possible to send an access request to
the other drive in the same bus.

Compared with SCSI, where number of outstanding requests is a feature
of the adapter as well as the attached devices. F.ex. it is possible to
send several separate read requests to a single disk without waiting
for the first request to return - and similarly for multiple devices.

This is what still makes SCSI superior to IDE. If you can arrange drives
so that you're not sharing IDE buses with devices that are accessed
concurrently, then the IDE solution should be ok as well.

As for performance, read performance for RAID5 should be just fine, and
write performance should be notoriously bad only if you do small random
writes. If your writes tend to be large (and optimally match the RAID
stripe size or multiple of that), then your write performance should
be very nice as well. This comes of the RAID5 design that data is stored
as stripes of some size, where the checksum is calculated across the
stripe. If you write a partial stripe, then it is first required that
the "old" stripe is read into memory, your modifications to the stripe
are applied, and the new checksum computed before writing back to disks.
Writing a full stripe at a time doesn't require reading the old data
from disks, so it's just calculating the checksum and writing the data.

-- 
Wolf  a.k.a.  Juha Laiho     Espoo, Finland
(GC 3.0) GIT d- s+: a C++ ULSH++++$ P++@ L+++ E- W+$@ N++ !K w !O !M V
         PS(+) PE Y+ PGP(+) t- 5 !X R !tv b+ !DI D G e+ h---- r+++ y++++
"...cancel my subscription to the resurrection!" (Jim Morrison)


Relevant Pages

  • Re: DS10L hardware configuration question
    ... > regarding IDE/ATA/ATAPI on OpenVMS.. ... simple controller-level disk interface for IDE ... > this IDE interface is used for disks ... > any support for 48-bit addressing. ...
    (comp.os.vms)
  • Re: to scsi or not to scsi
    ... generation SCSI disk and compare it to a modern IDE drive. ... Choosing between SCSI or IDE or SAS or SATA or FC is mostly a question ... Generally speaking, SCSI, SAS and FC disks are Enterprise class disks ...
    (freebsd-questions)
  • Re: Maximum IDE disk size for DS10L ?
    ... I started running DNEWS on it). ... My guess is that the IDE disks are more sensitive to heat, so if you do not have good ventilation on them, or are in a warmer room, you can expect a higher failure rate. ... accessing the IDE devices past the 127 GB limit requires putting the device in UDMA mode. ...
    (comp.os.vms)
  • Re: Sparc 20 hard drives?
    ... > they can still work as email servers, news servers, file servers, etc. ... SCSI clearly is better, but it is expensive. ... disks go on eBay for little more than the price of a *new* 200 GB IDE ...
    (comp.sys.sun.hardware)
  • Re: Removing Unix for linux
    ... you're working on IDE disks... ... I'm quite sure the boot kernel already has ... but common sense tells not to use IDE disks on PWS ... Seems I eventually clicked on "install from net" rather than ...
    (comp.os.linux.alpha)