NOTE: For a more detailed treatment of disk I/O performance please refer to the following Knowledge Base article:
Tips for improving disk I/O performance and scheduling
Disk I/O Scheduling:
To check to see which I/O scheduling algorithm is currently selected:
# cat /sys/block/<BLOCK_DEVICE>/queue/scheduler
# cat /sys/block/sda/queue/schedule
The output will look something like this:
noop anticipatory deadline [cfq]
The algorithm in brackets  is the one currently selected.
Change the algorithm to NOOP:
# echo noop > /sys/block/<BLOCK_DEVICE>/queue/scheduler
# echo noop > /sys/block/sda/queue/scheduler
[noop] anticipatory deadline cfq
You should soon begin to see the effects of this change in the Disk I/O graphs on the System > Performance page.
Both the OS and the disk controller are capable of I/O scheduling. But when multiple disks are combined logically via striping, the OS can't distinguish one physical disk in the stripe from another, it sees only one disk. The controller on the other hand is still aware of the individual disks and can potentially organize I/O more efficiently.
By default the OS is set up to use the Completely Fair Queuing or CFQ algorithm. By selecting the NOOP algorithm --which simply inserts all I/O requests into a FIFO queue, essentially disabling scheduling by the OS-- scheduling is deferred to the disk controller.
For more information on I/O scheduling: