eleven@ludojad.itpp.pl wrote:
> <>I'm using PostgreSQL 7.4.2 (package from backports.org)
> on a Debian (woody) box. The machine is IBM eServer 345
> with two 2.8 Xeon CPUs, it has 1024MB of RAM and
> two 15k RPM SCSI disks running in hardware RAID1, which
> is provided by the onboard LSI Logic controller (LSI53C1030).
<snip>
> <>With kernel 2.6.x which I was using earlier,
> top showed very high "wa" values (which indicate I/O waiting, AFAIK)
It sounds like you are very much bound by disk I/O. Your iostat output
indicates a good amount of I/O going on--I bet an iostat -x /dev/sdX
would show very high await times (time in ms before an IO request to the
device is serviced).
If your RAID controller has a battery-backed cache, check that you have
write-back (as opposed to write-through) enabled. This will cause the
controller to report data written only to RAID cache and not yet flushed
to disk as sync'd. You can experience large gains in write performance
this way.
If write-back is already enabled, or enabling it does not give a large
enough performance boost, you may need to buy more disks. In general, if
you have the budget for lots of disks, RAID 10 is the best you can do
performance-wise; if your budget for disks is limited, RAID 5 is the
next best thing. Also, you will get more bang for your buck with a
larger number of 10k disks than a smaller number of 15k disks.
Good luck,
Bill Montgomery