Linux I/O schedulers benchmarked - anticipatory vs CFQ vs deadline vs noop

Written by Gionatan Danti on . Posted in Linux & Unix

User Rating:  / 23

Direct I/O performance – sequential 2MB operations

While important, random 4K performances are not the only factors to consider: for some application, high sequential speed is also vital. Let see how the schedulers react to bigger sized transfers.

First, 2MB sequential reads:

2MB sequential read

While the contenders are more or less tied here, the CFQ and deadline schedulers pull slightly ahead.

Now, 2MB sequential writes:

2MB sequential write

We see some differences here, with deadline showing the better score.

Let simulate a more complex scenario now, with concurrent read and write operations:

2MB sequential mixed

Again deadline pulls slightly ahead.

I left the heavier bench for the last IOMeter graph: a 4KB – 2MB read/write, random/sequential mixed workload:

4KB - 2MB mixed

Somewhat surprisingly, all schedulers are more or less in line here.

All in all, IOMeter shows that, when dealing with direct I/O, the I/O scheduler play a very important role. From the benchmark above, it seems that the best scheduler for direct I/O is deadline.


#1 Ren 2013-11-22 07:11
Thanks for this very interesting post. Perhaps you could benchmark the different schedulers including BFQ ( next time?

You have no rights to post comments