“Before installing a new shared Linux database- and webserver I wanted to get an idea of the real world performance of various filesystems combined with the noatime and atime flags. This article contains a brief analysis of the results of my testing. To get a good idea of the relative impact of the chosen filesystem I also tuned the amount of shared buffers used in the PostgreSQL database software, which powers a number of sites on the server. On top of that, I also took a look at the benefit of using APC, the Advanced PHP Cache.”
Readahead and IO scheduler also make a lot of difference in performance. I don’t use databases, only desktop, but I found useful performance tips in RedHat, Postgresql, and IBM documents. Right now I’m using JFS with the deadline IO scheduler and I’m impressed. It got even better after setting readahead to 1024.
Most database performance documents show that the deadline scheduler makes a lot of difference in throughput, and on benchmarks explicity using deadline JFS was almost allways the best. It’s not EOL’d as some believe, last release is dated 2007-08-24.
Try this in any filesystem and you’ll see the difference:
echo deadline > /sys/block/sda/queue/scheduler
echo 1024 > /sys/block/sda/queue/nr_requests
echo 250 > /sys/block/sda/queue/iosched/read_expire
Bruno