Pull to refresh

Linux I/O Scheduler. Выбираем оптимальный

Reading time2 min
Views49K
Хотим читать с винта быстрее? Настало время подобрать I/O Scheduler.

Что нам понадобится для достижения цели?
Во-первых, установленный hdparm:

# aptitude install hdparm


Во-вторых, маленький скрипт:

# DISC="sda"; \
 cat /sys/block/$DISC/queue/scheduler; \
 for T in noop anticipatory deadline cfq; do \
     echo $T > /sys/block/$DISC/queue/scheduler; \
     cat /sys/block/$DISC/queue/scheduler; \
     sync && /sbin/hdparm -tT /dev/$DISC && echo "----"; \
     sleep 15; \
 done


Если диск не sda, то соответствующим образом правим кусок кода с объявлением:
DISC="sda";

Запускаем и получаем подобный результат:
noop anticipatory deadline [cfq]
[noop] anticipatory deadline cfq

/dev/sda:
Timing cached reads:   1690 MB in  2.00 seconds = 844.83 MB/sec
Timing buffered disk reads:  216 MB in  3.00 seconds =  71.91 MB/sec
----
noop [anticipatory] deadline cfq

/dev/sda:
Timing cached reads:   1612 MB in  2.00 seconds = 805.98 MB/sec
Timing buffered disk reads:  208 MB in  3.03 seconds =  68.67 MB/sec
----
noop anticipatory [deadline] cfq

/dev/sda:
Timing cached reads:   1644 MB in  2.00 seconds = 822.10 MB/sec
Timing buffered disk reads:  206 MB in  3.02 seconds =  68.20 MB/sec
----
noop anticipatory deadline [cfq]

/dev/sda:
Timing cached reads:   1728 MB in  2.00 seconds = 864.06 MB/sec
Timing buffered disk reads:  214 MB in  3.01 seconds =  71.05 MB/sec
----

Первая строка чисто информационная, в ней мы просто видем тот scheduler который используется на текущий момент времени и всегда можем вернуться к нему.
Внимание! Скрипт перебирает шедулеры при тестировании и не восстанавливает изначально установленный.
Затем следуют секции тестирования. Наиболее оптимальные результат выбираем вручную, он соответствует наибольшей скорости чтения мегабайт в секунду. Короче занимаемся округлениями :)
Новое значение, можно установить прямо в grub'е, изменив значение elevator=…
Далее:
# update-grub
# reboot


Ссылки по теме:
www.redhat.com/magazine/008jun05/features/schedulers
www.redhat.com/promo/summit/2008/downloads/pdf/Thursday/Sanjay_Rao.pdf
sfdoccentral.symantec.com/sf/5.0/linux/html/sf_rac_install/sfrac_prep_install27.html
Tags:
Hubs:
Total votes 16: ↑10 and ↓6+4
Comments14

Articles