Optimize IO governors for hardware RAID

You should try to change the IO scheduler to deadline or noop, and test for a couple of days.
The default CFQ scheduler is performing very badly with HW RAID (especially noticeable during backups) because it has no idea of the block device layout, so it reorders requests in a suboptimal way. At the same time the RAID controller tries to do the same, but it has no idea of the kernel queue, so basically two realtime IO governors are working against each other. The deadline and noop schedulers are much simpler, so they basically let the RAID controller do the majority of the work, causing much less harm.
It's possible on the fly with one command (reboot will clear this):


cat >/sys/block/sda/queue/scheduler
After that a quick check should confirm you are running the selected scheduler:


cat /sys/block/sda/queue/scheduler
noop anticipatory [deadline] cfq

More related posts