≡ Menu

ionice command

Comparison: Linux Disk Scheduler

I've already written about changing the I/O scheduler for hard disk under Linux and avoiding sudden outburst of disk I/O using ionice utility. I/O schedulers can have many purposes such as:
Minimize time wasted by hard disk seeks.
Prioritize a certain processes' I/O requests.
Give a share of the disk bandwidth to each running process etc

Google has sponsored Gelato@UNSW to take a close look at the disk schedulers in Linux, particularly when combined with RAID. They have now published their findings:

We benchmarked the four standard Linux disk schedulers using several different tools (see our wiki for full details) and lots of different workloads, on single SCSI and SATA disks, and on hardware and software RAID arrays from two to eight spindles (hardware raid) and up to twenty spindles (software raid), trying RAID levels 0 through 6.

We had to fix some of the benchmarking tools (the fixes are now upstream), and we developed a new one: a Markov Chain based replay tool, which allows a workload to be characterised and then a similar workload generated.

=> Selected comparisons of throughput and latency with the different Linux schedulers (via Google open source blog)

A sudden outburst of violent disk I/O activity can bring down your email or web server. Usually, a web / mysql or mail server serving millions and millions pages per months are prone to this kind of problem. Backup activity can increase current system load. To avoid this kind of sudden outburst problem, run your script with scheduling class and priority. Linux comes with various utilities to manage this kind of madness.
[click to continue…]