Хотим читать с винта быстрее? Настало время подобрать I/O Scheduler.
Что нам понадобится для достижения цели?
Во-первых, установленный hdparm:
Во-вторых, маленький скрипт:
Если диск не sda, то соответствующим образом правим кусок кода с объявлением:
Запускаем и получаем подобный результат:
Первая строка чисто информационная, в ней мы просто видем тот scheduler который используется на текущий момент времени и всегда можем вернуться к нему.
Внимание! Скрипт перебирает шедулеры при тестировании и не восстанавливает изначально установленный.
Затем следуют секции тестирования. Наиболее оптимальные результат выбираем вручную, он соответствует наибольшей скорости чтения мегабайт в секунду. Короче занимаемся округлениями :)
Новое значение, можно установить прямо в grub'е, изменив значение elevator=…
Далее:
Ссылки по теме:
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
Что нам понадобится для достижения цели?
Во-первых, установленный 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