Improving linux IO performance

1. Mount options: use noatime

Most Linux server machines can do without last access time modified for every file and each directory which is being read. So I’ll just go ahead and re-quote for the nth time what Linux Kernel developer Ingor Molar has to say to emphasize the point.

i cannot over-emphasise how much of a deal it is in practice. Atime updates are by far the biggest IO performance deficiency that Linux has today. Getting rid of atime updates would give us more everyday Linux performance than all the pagecache speedups of the past 10 years.

You can simply remount your filesystems without rebooting your machine using remount option.
As an example:-
/bin/mount -t ext3 -o noatime ext3 /dev/sda5 /
for remounting
/bin/mount -t ext3 -o noatime,remount ext3 /dev/sda5 /

And don’t forget to modify corresponding lines in your /etc/fstab
/dev/sda5 / ext3 noatime 1 1

2. Use tmpfs
Speedup heavy read-write IO for temporary data stores by using memory instead of disk.

3. On systems not constrained for memory reduce swappiness of the Linux machine
/bin/echo “10” > /proc/sys/vm/swappiness

4. Set blockdev readahead to a reasonable value to improve read performance
/sbin/blockdev –setra 131072 /dev/sda

The default readahead value is too small.