Performance tuning - especially with databases - can be an artform. In most cases that I've ever dealt with (this includes multiple Sybase and Oracle deployments on HPUX and Solaris), I/O is the limiting factor. Most performance improvements were achieved on the database or application side. This may or may not be true for your system. Definitely check top and memory. But, let's assume that its I/O.
With Linux, the version of the kernel cannot be discounted. For example, on my RH 7.0 partition I get a throughput of about 2.5 MB/s to the IDE disks, where as on my LFS 4.1 partition I get about 32 MB/s - same CPU/RAM/hard drive. The kernel is the difference. In the 2.2.16 kernel on RH 7.0, DMA is not detected properly, whereas the 2.4.20 kernel on my LFS 4.1 detects DMA automatically. Also, I'm sure that there are various memory handling improvements between 2.2.14 and 2.4.20.
There is a nice little application for changing I/O parameters for the hard drive, called hdparm:
http://freshmeat.net/projects/hdparm/
But BE CAREFUL!!! Evidently, there is some evidence (albeit anecdotal) that this program can corrupt hard drives.
Hope this helps...