Все о хостинге Среда, 08.05.2024, 17:15
| RSS
Реклама

Google search

Меню сайта

Категории раздела
Хостинг [38]
Сетевые сервисы [1]
Раскрутка сайта [49]
Заработки в Интернете [5]
Статьи иностранных специалистов. [36]

Статистика
Рейтинг@Mail.ru


Главная » Статьи » Хостинг

Настройка Apache
Настройка Apache

Конфигурационный файл Apache, как правило, находится в
/usr/local/apache/conf/httpd.conf, а заставить сервер его перечитать
можно с помощью проргаммы /usr/local/apache/bin/apachectl.

Основной целью дальнейших рекомендаций является определение и
ограничение количества “апачей”, выполняющихся в каждый момент времени
(предполагается, что сам сервер у вас уже настроен и работоспособен).
Дело в том, что (условно) на каждого посетителя сайта “тратится”
процесс Apache, и каждый такой процесс расходует память и процессорное
время. Поэтому если у вас будет слишком много запущенных серверов, то
оперативной памяти не хватит, а использование swap’а сильно замедляет
работу сайта. С другой стороны, если запущенных серверов мало, то при
заходе пользователя будет тратиться время на создание нового процесса,
что опять же приводит к задержкам и расходу процессорного времени.

Из вышесказанного ясно, что с одной стороны желательно всегда иметь
некоторый запас запущенных серверов для обслуживания посетителей, а с
другой - надо убивать лишние сервера, чтобы не занимать слишком уж
много памяти. Понятно, что конкретные цифры зависят от посещаемости
вашего сайта и доступных ресурсов, поэтому приводимые ниже цифры стоит
использовать только как основу, корректируя их по необходимости.

Максимальное количество “апачей”, которые могут быть запущены
одновременно определяется параметром MaxClients. Это число должно
чуть-чуть превышать максимальное количество посетителей, которые могут
в какой-то момент времени оказаться у вас на сайте. В то же время,
если желающих к вам попасть много, а ресурсов сервера для их
обслуживания не хватает, то излишне высокое число запущенных серверов
только затормозит всю работу. Поэтому желательно установить какое-то
разумное ограничение, скажем 150 или 200.

Время, в течение которого сервер ждет откликов от клиента определяется
параметром Timeout. Обрывы связи иногда случаются и если браузер
посетителя обратился к вашему серверу, не получил ответа и послал
повторный запрос (скажем, пользователь нажал reload), то у вас
запустятся два “апача”, причем один из них будет просто висеть и в
течение указанного времени ждать, когда посетитель подтвердит свое
желание посмотреть страничку. По умолчанию этот параметр установлен в
300 секунд, но значительно более эффективным оказалось понизить его до 30.

Включение поддержки KeepAlive может заметно облегчить жизнь. Дело в
том, что в “обычном” режиме для передачи каждого файла клиенту
требуется установить соединение, и если у вас на страничке, например,
есть 10 картинок, то придется устанавливать и разрывать 10 соединений
для их передачи. А в режиме KeepAlive сервер после передачи файла
соединение не разрывает и последующие запросы от этого клиента
обрабатывает, используя уже установленное соединение. Таким образом
экономится время на установку и разрыв соединений, причем для
популярных сайтов эта разница может быть очень заметна!

Для KeepAlive соединений, точно также как и для обычных, надо
установить timeout с помощью параметра KeepAliveTimeout. Так как
сервер, установивший соединение с клиентом, недоступен для других
клиентов пока соединение не будет разорвано, слишком большое значение
может привести к куче серверов, ничего не делающих и просто ждущих не
захочет ли их клиент скачать еще что-нибудь. Причем в это же время
толпа новых посетителей может обнаружить, что ваш сайт не отвечает,
так как достигнуто максимальное число разрешенных “апачей”… Наиболее
практичным значением параметра KeepAliveTimeout является что-то между
десятью и двадцатью секундами.

Как известно, долгое использование какой-то программы может привести к
“утечкам памяти” или каких-то других ресурсов. Чтобы избежать таких
проблем есть два параметра: MaxKeepAliveRequests и
MaxRequestsPerChild. Первый параметр отвечает за принудительное
“убиение” процесса после обработки указанного числа KeepAlive
запросов, а второй - после указанного числа “обычных” запросов. В
принципе, на абсолютном большинстве систем утечек памяти быть не
должно и эти параметры можно сделать достаточно большими - по
несколько тысяч. Но на всякий случай последите за поведением сервера -
не исключено, что “утечки” обнаружатся в какой-то из библиотек,
которые вы используете. Удобнее всего двигаться “снизу вверх” -
сначала установить значения небольшими, скажем, 100 и 50, а потом их
увеличивать, наблюдая за поведением сервера.

Ну и еще три параметра, регулирующие количество запущенных процессов:
StartServers, MinSpareServers и MaxSpareServers. Первый, при старте
сервера запускает указанное число “апачей”. Второй определяет
минимальное число бездельничающих в ожидании нового клиента серверов,
а третий - их максимальное число. В качестве первого шага можно
поробовать, скажем, 25, 2 и 10, а дальше посмотреть на загруженность
сайта…


Категория: Хостинг | Добавил: autor (28.08.2009)
Просмотров: 1818 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Copyright MyCorp © 2024