Account Links: Cart | Your Account | Logout

Skip to content

Red Hat Knowledgebase

Red Hat Knowledgebase Search:

Updated Within the Last:

New Solutions within the last day New Solutions within the last week New Solutions within the last month

Browse by topics:


Click to View a Topic
Red Hat Enterprise Linux > Red Hat Enterprise Linux 5 > Issue <<  274 of 346 >>

Solution Tools:


Email a Solution Postcard Printer version Submit a comment on this answer Update notifications Request an answer Back

Article Reference

Article ID: 12716
Last update: 07-17-08
Issue:
What is the suggested I/O scheduler for a Video on Demand (VOD) server using Red Hat Enterprise Linux?
Resolution:

Releases Found:

Red Hat Enterprise Linux 4, Red Hat Enterprise Linux 5

Resolution:

When using Red Hat Enterprise Linux 4 or Red Hat Enterprise Linux 5, the default scheduler cfq is ideal in most cases because it performs well on nearly all workloads.

However, if a VOD server runs with the cfq scheduler, its average I/O latency will increase when the amount of connections on the server increases. If I/O latency is too high the clients' video streams will not play smoothly.

In the case above, The VOD servers should use the "deadline" I/O scheduler to allow servers to optimize I/O requests. For a VOD server, minimizing I/O latency is more important than maximizing I/O throughput.

The I/O scheduler can be selected at boot time using the "elevator" kernel parameter. In the following example, the system has been configured to use the deadline scheduler in the grub.conf file.

title Red Hat Enterprise Linux Server (2.6.18-8.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/vg0/lv0 elevator=deadline
initrd /initrd-2.6.18-8.el5.img


In Red Hat Enterprise Linux 5, it is also possible to change the I/O scheduler for a particular disk on the fly.

# cat /sys/block/sdb/queue/scheduler
noop anticipatory deadline [cfq]
# echo 'deadline' > /sys/block/sdb/queue/scheduler
# cat /sys/block/sdb/queue/scheduler
noop anticipatory [deadline] cfq


The following are the tunable files for the deadline scheduler. They can be tuned to any suitable value according to hardware performance and software requirement.

/sys/block/DEVNAME/queue/iosched/read_expire
/sys/block/
DEVNAME/queue/iosched/write_expire
/sys/block/
DEVNAME/queue/iosched/fifo_batch
/sys/block/
DEVNAME/queue/iosched/write_starved
/sys/block/
DEVNAME/queue/iosched/front_merges

DEVNAME is the name of block device (such as sda, sdb, hda, etc)

A detailed description of the deadline I/O scheduler can be found at: /usr/share/doc/kernel-[version]/Documentation/block/deadline-iosched.txt.


How well did this entry answer your question?


good wrong incomplete out of date
Red Hat Enterprise Linux > Red Hat Enterprise Linux 5 > Issue <<   274  of  346  >>