Linux Server - Speed Up Your Hard Drive



Posted: Wednesday, January 31, 2007

by
http://www.filesland.com

Linux servers usually use conservative default IDE driver settings that could be significantly slowing down your system. By default they are set to most safe settings guaranteed to work. However you may reconfigure them to increase the read speed of your hard drive. In most cases this will not speed up serving of your website significantly, but it is nice to know that you can get the most out of your hardware. We ran these optimized settings on several servers including Filesland.com

To benchmark the read speed of your IDE drive execute the following

> root@newserver [~]# hdparm -Tt /dev/hda

/dev/hda:

Timing buffer-cache reads: 698 MB in 2.00 seconds = 349.00 MB/sec

Timing buffered disk reads: 60 MB in 3.00 seconds = 19.90 MB/sec

Timing buffered disk reads can be very slow. This may be as a result of high CPU load or extensive hard disk swapping. Check apache optimization section first if the read time is too slow.

Now lets' see what are the Input/Output settings of your hard disk. Execute the command /sbin/hdparm -v /dev/hda

# /sbin/hdparm -v /dev/hda

/dev/hda:

multcount = 16 (on)

IO_support = 0 (default 16-bit)

unmaskirq = 0 (off)

using_dma = 0 (off)

keepsettings = 0 (off)

readonly = 0 (off)

readahead = 8 (on)

geometry = 9729/255/63, sectors = 156301488, start = 0

This are the current driver settings settings. Lets see what your hard drive is capable of. Execute the command /sbin/hdparm -i /dev/hda

root@cpanel [~]# /sbin/hdparm -i /dev/hda

/dev/hda:

Model=ST380011A, FwRev=3.06, SerialNo=5JV18H2Q

Config={ HardSect NotMFM HdSw> 15uSec Fixed DTR> 10Mbs RotSpdTol> .5% }

RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4

BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16

CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=156301488

IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}

PIO modes: pio0 pio1 pio2 pio3 pio4

DMA modes: mdma0 mdma1 mdma2

UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5

AdvancedPM=no WriteCache=enabled

Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:

* sign signifies the current active mode

Significant I/O performance increase has been reported when setting drivers to DMA, 32-bit tranfers and multisector mode. Note that the drive support DMA modes. Lets turn DMA mode on, this will speed up timing buffered read by a factor of two

#/sbin/hdparm -d1 /dev/hda

#/sbin/hdparm -c3 /dev/hda (I/O support set to 3 - turn on 32bit transfers on your first HD by typing )

#/sbin/hdparm -m16 /dev/hda (choose data transfer parameters 16 as MaxMultSect=16)

#/sbin/hdparm -a16 /dev/hda (choose read ahead setting 16 as MaxMultSect=16)

Benchmark the hard drive performance again.

root@cpanel [~]# /sbin/hdparm -Tt /dev/hda

/dev/hda:

Timing buffer-cache reads: 724 MB in 2.00 seconds = 362.00 MB/sec

Timing buffered disk reads: 154 MB in 3.01 seconds = 51.16 MB/sec

Lastly you may tweak UltraDMA settings for those who have Mode3/4 IDE controllers with EIDE or UDMA HDs. It is possible to enable the Mode3 or Mode4 PIO and UDMA. This is too risky in my opinion for a web server so we skip this part. In a sample above UDMA is already enabled.

Nick is a webmaster for Filesland.com software download archive

This Article has been viewed 2,121 times. (Not updated in real-time.)
No comments yet.
We want your comments! If you can read this, you don't have javascript enabled, so you can't use this comment system. Please enable javascript.