IO Sheduler

From Alessandro's Wiki
  • changing I/O scheduler at runtime, in this case, we switch to deadline:
cd /sys/block/sda/queue 
echo deadline > scheduler
  • benchmark of disk read speed, changing IO scheduler in the kernel.
Block layer->IO Schedulers->Default I/O scheduler->Anticipatory (DEFAULT_AS)
Processor type and features->Processor family->Preemption Model->Preemptible Kernel (Low-Latency Desktop) (PREEMPT)
hdparm -tT /dev/hd[abcd]

/dev/hda:

Timing cached reads:   3036 MB in  2.00 seconds = 1516.74 MB/sec
Timing buffered disk reads:  140 MB in  3.03 seconds =  46.16 MB/sec

/dev/hdb:

Timing cached reads:   3128 MB in  2.00 seconds = 1563.28 MB/sec
Timing buffered disk reads:  156 MB in  3.03 seconds =  51.41 MB/sec

/dev/hdc:

Timing cached reads:   3228 MB in  2.00 seconds = 1611.95 MB/sec
Timing buffered disk reads:  136 MB in  4.02 seconds =  33.81 MB/sec

/dev/hdd:

Timing cached reads:   3144 MB in  2.00 seconds = 1570.76 MB/sec
Timing buffered disk reads:  192 MB in  3.01 seconds =  63.77 MB/sec

  • TEST2
Block layer->IO Schedulers->Default I/O scheduler->Deadline (DEFAULT_DEADLINE)
Processor type and features->Processor family->Preemption Model->Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)
/dev/hda:
Timing cached reads:   3528 MB in  2.00 seconds = 1762.73 MB/sec
Timing buffered disk reads:  154 MB in  3.03 seconds =  50.77 MB/sec
/dev/hdb:
Timing cached reads:   3868 MB in  2.00 seconds = 1933.38 MB/sec
Timing buffered disk reads:  172 MB in  3.03 seconds =  56.82 MB/sec

/dev/hdc:

Timing cached reads:   3692 MB in  2.00 seconds = 1846.51 MB/sec
Timing buffered disk reads:  164 MB in  3.02 seconds =  54.33 MB/sec

/dev/hdd:

Timing cached reads:   3800 MB in  2.00 seconds = 1899.48 MB/sec
Timing buffered disk reads:  196 MB in  3.01 seconds =  65.18 MB/sec
  • TEST3
Block layer->IO Schedulers->Default I/O scheduler->CFQ
Processor type and features->Processor family->Preemption Model->Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)
/dev/hda:
Timing cached reads:   3240 MB in  2.00 seconds = 1618.93 MB/sec
Timing buffered disk reads:  136 MB in  3.01 seconds =  45.14 MB/sec
/dev/hdb:
Timing cached reads:   3644 MB in  2.00 seconds = 1821.72 MB/sec
Timing buffered disk reads:  170 MB in  3.00 seconds =  56.59 MB/sec
/dev/hdc:
Timing cached reads:   3772 MB in  2.00 seconds = 1885.97 MB/sec
Timing buffered disk reads:  164 MB in  3.03 seconds =  54.21 MB/sec
/dev/hdd:
Timing cached reads:   3616 MB in  2.00 seconds = 1806.91 MB/sec
Timing buffered disk reads:  198 MB in  3.01 seconds =  65.80 MB/sec