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

Разгоняем Linux

Докучаев Дмитрий aka Forb

Спецвыпуск Xakep, номер #046, стр. 046-022-3


Процесс накладки патчей очень прост. Вначале устанавливаем само обновление (руководствуясь соответствующей документацией). Затем заново запускаем menuconfig, активируем все необходимое, повторяем процесс компиляции кернела и завершаем установку финальным ребутом.

Выруби сервисы

Пришло время вплотную поработать с сервисами, которые постоянно «крутятся» на машине. Нередко админ забывает, что некоторые службы вообще не нужны, и не отключает их. Но мы не такие расточительные, поэтому давай запустим утилиту ntsysv, которая нужна для управления службами. Если она отсутствует, придется пользоваться дедовским способом – командой chkconfig.

Вот список сервисов, которые можно отключать не раздумывая:

atd. Демон для выполнения команд в определенное время. В нем нередко находят баги, поэтому я решил, что можно обойтись кроном, а atd пусть отдыхает :).

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

kudzu. В большинстве случаев конфигурация сервера постоянна, а начальство жмется на апгрейды :). Эта утилита тормозит систему секунд на 20 при загрузке, поэтому достойна отключения.

sound. Зачем серверу (если это сервер :)) звук? Вырубаем!

numlock. Сервис для извращенцев. В трэш!

Немного подумав, я вырубил поддержку mail, антивирусов и фаервола, скомпилив их «под себя» из исходников. Рекомендую сделать то же самое, потому что rpm-пакеты не совсем хорошо рассчитаны для конкретной системы.

Автоматизируй в разумных пределах

Нередко после установки в системе создается ряд заданий для демона crond. Не спорю, инсталлятор прав: некоторые вещи автоматизировать действительно необходимо. Но не все. Допустим, ты удалил из системы сервисы, отвечающие за рассылку безопасности, а также заменил postfix любимым почтовиком. Однако в каталогах /etc/cron.daily и /etc/cron.weekly остались сценарии, выполняющиеся в определенное время. Если наш сервер заточен для маршрутизации, тебе не нужно пользоваться этими скриптами, и их необходимо... правильно, удалить :)!

Но автоматизировать процесс все же необходимо. Например, для бэкапа или проверки жизнедеятельности определенного приложения. Организуй скрипт так, чтобы он запускался во время минимальной нагрузки на машину. Лучшее время – ночь или раннее утро.

Рассмотрим процесс, который будет стартовать ежедневно в 03:00 AM. Выполни команду crontab –e и вписывай следующую строку:

0 3 * * * /usr/bin/backup_data > /dev/null 2> &1

Теперь процесс резервирования данных будет запущен в три часа ночи, когда к серверу обращено минимальное число клиентов.

Грамотно обрабатывай скрипты

Нередко сервер проигрывает в производительности из-за неправильно написанных скриптов. По невнимательности (или по лени) программист забывает о скорости, сделав свое творение медленным, как черепаха. Например, программер забыл выполнить $mysql-> disconnect(), в результате чего сценарий не отключился от БД. Если к серваку обращается несколько клиентов в секунду, задержка в работе будет весьма и весьма ощутимой.

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