База знаний: Веб-сервер: Apache, httpd
Частые причины недоступности веб-сайтов.
Опубликовано Вадим Суфияров on 27 December 2008 12:58


Если Вы желаете, чтобы Ваш VPS, DDS-сервер работал наиболее эффективно, то необходимо потратить время как минимум на настройку веб-сервера Apache, потому как по умолчанию на все серверы устанавливается неудачный конфигурационный файл от разработчиков Apache. По началу это даже не сильно заметно, однако после развертывания веб-сайтов проходит не так много времени и Вы начинаете замечать, что периодически сервер либо полностью не отвечает по HTTP ("сайты не грузятся"), либо - обрабатывает поступающие запросы слишком медленно (время загрузки страниц > 2-3 секунд). Часть пользователей практически сразу обнаруживает, что сайты загружаются даже медленнее, чем на серверах виртуального хостинга. В большинстве случаев подобного рода проблемы легко диагностируются и для этого достаточно выполнить две команды UNIX shell посредством SSH-доступа:

grep mem /var/log/httpd/error_log*
grep Max /var/log/httpd/error_log*

Типичный пример вывода первой команды:

ImportError: /usr/lib64/python2.4/lib-dynload/timemodule.so: failed to map segment from shared object: Cannot allocate memory

Ошибки такого рода означают, что веб-серверу периодически не хватает оперативной памяти для корректной работы. Стоит заметить, что в зависимости от настроек среднее потребление оперативной памяти одним процессом веб-сервера составляет порядка 30-40Мб.

Типичный вывод ошибок второй команды:

[Thu Dec 11 13:42:50 2008] [error] server reached MaxClients setting, consider raising the MaxClients setting

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

Наиболее простое решение описанных проблем - настройка веб-сервера под конкретные требования Вашего сервера.

Пример, конфигурационных параметров, подходящих для тарифа VPS-1:

StartServers       1
MinSpareServers    1
MaxSpareServers    3
ServerLimit       30
MaxClients        30
KeepAliveTimeout 3
MaxKeepAliveRequests 100
MaxRequestsPerChild  500

Помимо особенно отмеченных в данной статье проблем связанных с веб-сервером, нехватка памяти сказывается в общем случае не только (!) на веб-сервере Apache, но и на сервере баз данных, почтовом сервере и других важнейших службах VPS, DDS.

Если после настройки веб-сервера проблемы продолжают повторяться, то следует подумать о возможности перехода на тариф с большим количеством оперативной памяти.

(18 голос(а))
Эта статья помогла
Эта статья не помогла