ext3 file system performance tuning: what metrics to monitor

Solution 1:

Some suggestions

  • Look at the read queue size, if your application is highly random, then tweak the readahead in /sys/block/<dev>/queue/read_ahead_kb to ensure you're reading data you need, not data the OS thinks you need.
  • Switch to the deadline scheduler if you haven't already
  • use the noatime mount option unless you're hosting a mail spool
  • mount with data=writeback if you've got good backups
  • keep an eye on your directory sizes, sure hashed directory inodes help, but if you can hash the data yourself then you'll get more consistent results