Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #63, ФЕВРАЛЬ 2006 г.

нитрооктан для толстой птицы

J1M (J1M@LIST.RU)

Спецвыпуск: Хакер, номер #063, стр. 063-054-3


'-d1' — включение DMA. Его можно и не указывать, так как Linux уже давно научился выставлять правильный DMA-режим.

'-m16' — количество одновременно читаемых секторов (IDE Block Mode). Увеличивает нагрузку на систему, но существенно поднимает производительность. Будь осторожен с увеличением значения, иначе запросто запорешь ФС.

'-A1' — включает предварительное чтение, поднимает производительность при чтении больших файлов.

'-a64' — количество секторов для предварительного чтения (советую поэкспериментировать со значением).

'-u1' — не маскировать прерывания (заметно увеличивает производительность).

При помощи одной команды мы повысили скорость работы с диском в несколько раз. Но и это еще не все, на что способен hdparm. В последних версиях программы появилась опция '-M', предназначенная для управления акустическими характеристиками винчестера. Выполнив команду

$ hdparm -M128 /dev/hda

мы снизим скорость вращения шпинделя и избавимся от излишней шумности. И напротив, команда

$ hdparm -M254 /dev/hda

установит максимальную скорость, а следовательно, и производительность диска. К сожалению, эта возможность экспериментальная, и она работает далеко не со всеми накопителями.

Итак, мы настроили жесткий диск, но после перезагрузки все значения вернутся в исходное состояние. Как быть? Многие дистрибутивы предоставляют удобную систему настройки hdparm через конфигурационные файлы (например, в Gentoo это /etc/conf.d/hdparm). Если в твоем дистрибутиве нет необходимого конфигурационного файла, ты можешь прописать нужную команду прямо в /etc/rc.d/rc.local, не забыв отправить вывод команды в /dev/null (hdparm ... 2>&1 > /dev/null).

Переходим к настройке файловых систем. Здесь все достаточно просто (точнее, уже оптимизировано) и особо не развернешься. Почти все файловые системы Linux при доступе к файлу записывают информацию о времени обращения к нему, и так происходит каждый раз для каждого файла. Естественно, на эту процедуру, иногда совершенно бесполезную, тратится определенное время и ресурсы. Исправим ситуацию прописав 'noatime' в поле опций файла /etc/fstab, например вот так:

/dev/hda2 / ext3 noatime 0 2

В случае с файловой системой ext3 повышения производительности можно добиться также путем изменения политики журналирования. Эта ФС может использовать три разных подхода к журналированию:

1 JOURNAL — ПРИ ЭТОМ РЕЖИМЕ ВСЕ ДАННЫЕ ЗАПИСЫВАЮТСЯ В ЖУРНАЛ ПЕРЕД ТЕМ, КАК БУДУТ ЗАПИСАНЫ НЕПОСРЕДСТВЕННО В ФАЙЛОВУЮ СИСТЕМУ. ЭТО ТАК НАЗЫВАЕМОЕ ПОЛНОЕ ЖУРНАЛИРОВАНИЕ — САМЫЙ МЕДЛЕННЫЙ И САМЫЙ НАДЕЖНЫЙ РЕЖИМ.

2 ORDERED — ПОСЛЕ ЗАПИСИ ДАННЫХ В ФАЙЛ МЕТАДАННЫЕ ПОМЕЩАЮТСЯ В ЖУРНАЛ ПЛЮС СОЗДАЕТСЯ МОДУЛЬ ТРАНЗАКЦИЙ. НЕКИЙ КОМПРОМИСС СКОРОСТИ И НАДЕЖНОСТИ. ИСПОЛЬЗУЕТСЯ ПО УМОЛЧАНИЮ.

3 WRITEBACK — ОТЛОЖЕННАЯ ЗАПИСЬ. В ЖУРНАЛ ПОМЕЩАЮТСЯ ТОЛЬКО МЕТАДАННЫЕ, НИКАКОГО МОДУЛЯ ТРАНЗАКЦИЙ. ОТЛИЧНАЯ ПРОИЗВОДИТЕЛЬНОСТЬ, СОХРАННОСТЬ ДАННЫХ НЕ ГАРАНТИРУЕТСЯ НИКАК.

Если журнал нужен тебе только для того, чтобы не лицезреть долгий процесс проверки ФС при загрузке, то смело вписывай «data=writeback» в поле опций файла /etc/fstab, как было показано выше.

Назад на стр. 063-054-2  Содержание  Вперед на стр. 063-054-4