Linux I/Oスケジューラ

  • 投稿者:
  • 投稿カテゴリー:Linux

I/Oスケジューラとは

Linuxに大量の書き込みや読み込みがきたときに、効率的にI/Oを処理するために並び替える機能

キューサイズ

並び替えについて、内部的にキューをもっており、制限数をもって処理している

確認方法

root@hostname:/home/admin# df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
rootfs           7.9G  1.6G  6.0G   21% /
udev              10M     0   10M    0% /dev
tmpfs             60M   76K   60M    1% /run
/dev/xvda        7.9G  1.6G  6.0G   21% /
tmpfs            5.0M     0  5.0M    0% /run/lock
tmpfs            120M     0  120M    0% /run/shm
root@hostname:/home/admin# cat /sys/block/xvda/queue/scheduler
noop deadline [cfq]
# noop、deadline、cfqが利用可能であり、cfqが選択されている

root@hostname:/home/admin# cat /sys/block/xvda/queue/nr_requests
128
# キューサイズ

RDBMSについて

RDBMSについては、ほとんど(mysql含む)がI/Oスケジューリング機能を持っているため、OS側では何もしないほうが高速になることが多い
noop(特別なスケジュールをしない)やdeadline(読み込み、書き込みをバランスよく対応する)がオススメらしい
またキューサイズを大きくすることで、シーク待ち時間を減らすことが可能