Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to ensure I have done all I can to configure a system's disks for serious database use. The three areas I know of (any others?) to be concerned about are:

  1. I/O size: The database engine and disk's native size should either match, or the database's native I/O size should be a multiple of the disk's native I/O size.
  2. DMA: Disks that are capable of Direct Memory Access (eg. IDE) should be configured for it.
  3. Write-caching: When a disk says it has written data persistently, it must be so! No keeping it in cache and lying about it.

I have been looking for information on how to ensure these are so for CentOS and Ubuntu, but can't seem to find anything at all.

I want to be able to check these things and change them if needed.

Any and all input appreciated.

Please note: The actual hardware involved is very modest. The point is to get the most out of what hardware we do have, even though it's "not very serious hardware" from a broader perspective.

share|improve this question
Are you looking for an utility to check/set those parameters or a list of which parameters you should check? – DrNoone Aug 5 '11 at 13:53
For #3, don't you want to disable write caching so it forces the HDD buffer to be flushed to disk (instead of allowing it to write whenever it wants)? – Breakthrough Aug 31 '11 at 14:07

You can use, e.g., hdparm -d -W /dev/hda to get/set the DMA and write-caching values for an IDE drive.

Replace hda with sda for a SATA/SCSI drive

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .