Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
22 Апрель 2010

Apache (httpd) — вычисление нагрузки по конкретным хостам (vhosts)

posted in NIX, Полезности |

Эта проблема меня волновала ещё пару лет назад, но после довольно плотного «гугления» в те времена я так и не нашел решения.

Спустя время вопрос снова поднялся — ко мне на сервер недавно переехал довольно тяжелый проектик (кстати ещё будут посты по поводу оптимизации и снижения нагрузки на конкретном примере — так как грузит сервак не слабо — ни хостинги, ни виртуальные сервера данный проект не выдерживают) и нужно в реале в текущий момент времени отслеживать кто же именно и на сколько грузит сервер — ни top ни ps данную информацию не предоставляют — только процессы и загрузка, а вот конкретно по виртуальным хостам — облом.

Решение, как всегда, оказалось простым как и всё гениальное 🙂

MOD_STATUS

Модуль индейца mod_status  позволяет снимать информацию о ВСЕХ процесса выполняемых в текущее время, аптайм сервера, процессорную нагрузку, информацию по трафику и  т.п. САМОЕ ГЛАВНОЕ — виртуальных хост и запрос конкретного процесса httpd.

Именно то что нужно — КРАСОТА !

Настраивается элементарно, на раз-два-три:

Раз — подключаем сам модуль в httpd.conf

LoadModule status_module modules/mod_status.so

у меня уже был подключен (кстати этот факт навёл меня на мысль, что в апаче по умолчанию подключено много неиспользуемых модулей, сжирающих память — позже изучу этот момент поглубже и ознакомлю с результатами).

Два — Включаем сам модуль расширенней статистики

ExtendedStatus On

Три — «вешаем» на определенный урл  (локацию server-status я немного переименовал ибо нехер по умолчанию оставлять)

<Location /server-status>
SetHandler server-status
#    Order deny,allow
#    Deny from all
Allow from [ваш IP]
</Location>

Можно по паролю — тогда так:

<Location /server-status>
SetHandler server-status

AuthType        basic
AuthName        «server-status»
AuthUserFile    /var/www/.htpasswd
require         valid-user
</Location>

Перезапускаем индейца service httpd restart

Всё — статистика доступна по адресу вашего сервера (или виртуального хоста куда зацепили локацию).

Лично у меня это http://IP сервера/server-status


У нас 4 комментария на запись “Apache (httpd) — вычисление нагрузки по конкретным хостам (vhosts)”

Почему бы Вам не высказать своем мнение! Позвольте нам узнать, что Вы думаете...

  1. 1 On 22.04.2010, Максим said:

    Интересный у вас способ.

  2. 2 On 05.05.2010, Литва said:

    да уж, действительно, элегантно и просто. И надо было столько времени голову ломать. Спасибо.

  3. 3 On 08.06.2010, nyv said:

    > а вот конкретно по виртуальным хостам — облом

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

  4. 4 On 08.06.2010, nyv said:

    виноват, смотрел только общие показатели сверху.
    конечно же, внизу видно virtual hosts

Оставить комментарий