[CentOS] Very slow disk performance on CentOS 4.5 [solved]

Fri Aug 31 18:48:42 UTC 2007
Ross S. W. Walker <rwalker at medallion.com>

From: centos-bounces at centos.org 
[mailto:centos-bounces at centos.org] On Behalf Of Alfred von Campe
> 
> > Yes, I was going to say this too, make sure the SATA settings in the
> > BIOS are all set to SATA operation and not "legacy", then you should
> > see /dev/sda and /dev/sdb and all DMA, IO size, NCQ and multiple  
> > sector
> > settings will be properly negotiated at start-up.
> 
> I bit the bullet and rebooted my system.  I couldn't find 
> anything in  
> the BIOS regarding this.  However, while the system was down, I  
> simply swapped the SATA connections of one of the optical 
> drives with  
> the slow hard disk.  Upon reboot, the slow disk formerly at /dev/hda  
> disk was now /dev/sda (and the former /dev/sda was now /dev/sdb) and  
> the two optical drives are /dev/hda and /dev/hdb.  Moreover, 
> the disk  
> drive now performs as before.
> 
> So why does a simple swap like this cause such a performance  
> difference (almost an order of magnitude!)?

Well most desktop motherboards these days provide for 2 SATA devices
and 2 emulated PATA devices. Though the emulated PATA devices will
probably end up using PIO instead of DMA for transfers which is
slow and processor intensive, so these are usually reserved for
optical drives, which are slow.

I would still have the 2 optical drives hda/hdb set for DMA transfer
too as watching DVDs will be choppy and burning CDs/DVDs may be
fraught with failures.

You may want to set the multiple sector transfer too to what the
drives support in their specs.

If all your devices are fully SATA compliant I would dig through
the vendor docs for your motherboard to see if there is a non-
intuitive option in the BIOS to set all connectors to SATA mode.

> > To set these via hdarpm:
> >
> > hdparm -c 1 /dev/hda (for 32-bit)
> > hdparm -d 1 /dev/hda (for DMA)
> > hdparm -m 16 /dev/hda (multiple sector IO = 16 sectors)
> >
> > These can be combined to: hdparm -c 1 -d 1 -m 16 /dev/hda
> 
> Now that the drive is /dev/sda, hdparm doesn't work.  Is there a  
> similar utility to change these settings on SATA drives that show up  
> as /dev/sdx?  Is this even needed?  In my case, I'm happy to 
> get back  
> the previous performance, but if there is a way to increase it even  
> further, I'd like to know.

Most cases this isn't needed, but if you want to view and access
information on SATA/SAS/SCSI disks you can google for 'sdparm', but
it isn't as user-friendly as hdparm and not all options are
implemented for SATA drives as they support a limited SCSI command
spec.

-Ross

______________________________________________________________________
This e-mail, and any attachments thereto, is intended only for use by
the addressee(s) named herein and may contain legally privileged
and/or confidential information. If you are not the intended recipient
of this e-mail, you are hereby notified that any dissemination,
distribution or copying of this e-mail, and any attachments thereto,
is strictly prohibited. If you have received this e-mail in error,
please immediately notify the sender and permanently delete the
original and any copy or printout thereof.