Модуль mod_mpmstats

     Одними из важнейших показателей работы web-сервера являются характеристики, отражающие состояние рабочих нитей (threads) сервера. Для сбора статистики и мониторинга состояния рабочих нитей web-сервера (в нашем случае IBM HTTP Server) необходимо использовать модуль mod_mpmstats. Рассмотрим этот модуль подробнее.

   Модуль mod_mpmstats, необходимо использовать в том случае, если Вам нужно получать информацию об использовании рабочих нитей веб сервера через определенный временной интервал, но Вам не нужны детали о том, какие именно запросы обрабатываются. Для более детального анализа обрабатываемых запросов следует использовать модуль mod_status. Это рекомендация IBM.

Установка модуля mod_mpmstats

IBM HTTP Server 6.1 и более ранние версии: скопируйте файл mod_mpmstats.so, подходящий для Вашей платформы, в директорию модулей веб сервера (например, в /opt/IBMIHS/modules).

IBM HTTP Server 7.0 и более поздние версии: на всех поддерживаемых платформах, этот модуль входит в состав продукта IHS, и находится в директории /modules/debug/

Модуль mod_mpmstats доступен для AIX, Linux, Solaris, HP-UX, Windows, и z/OS.

Активация модуля

1.  Добавьте в конфигурационный файл веб сервера (httpd.conf), следующую директиву:

loadmodule mpmstats_module modules/mod_mpmstats.so

2. Опционально: Добавьте директиву ReportInterval для того, чтобы в журнале error.log фиксировалось использование нитей веб сервера через определенный временной интервал (в секундах). Например, для интервала в 5 минут:

ReportInterval 300

Если не объявить эту директиву, то записи об использовании нитей веб сервера не будут формироваться.

3. Опционально: добавьте директиву TrackModules для того что бы в журнале error.log, помимо информации об использовании нитей веб сервера, фиксировалась информация о количестве запросов, находящихся в настоящее время в каждом плагине (plug-in) веб сервера:

TrackModules On

Проверьте, что модуль mod_status подключен и директива ExtendedStatus установлена в значение “On”:

LoadModule status_module modules/mod_status.so

ExtendedStatus On

4. Перезапустите сервер для вступления в силу изменений.

Деактивация модуля

1. Закомментируйте директивы LoadModuleReportInterval, и TrackModules.

2. Перезапустите сервер для вступления в силу изменений.

Формируемые записи

     После того, как модуль mod_mpmstats подключен без дополнительных опций (шаги 2 и 3 при активации модуля), то, когда большинство рабочих нитей веб сервера будут заняты, в журнале error.log появятся следующие сообщения (на примере Windows):

[Wed Aug 17 08:47:29 2005] [notice] mpmstats: approaching ThreadsPerChild (23/25)
[Wed Aug 17 08:47:42 2005] [warn] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting

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

Если модуль mod_mpmstats подключен с директивой ReportInterval, то в журнале error.log, с указанным интервалом, будут формироваться записи следующего вида:

[Mon Aug 26 13:38:44 2013] [notice] mpmstats: rdy 498 bsy 102 rd 0 wr 28 ka 68 log 2 dns 0 cls 4

Используемые в записи обозначения описаны в таблице:

Поле

Описание

rdy (ready)  Число запущенных нитей веб сервера, которые готовы к обработке новых клиенских соединений
bsy (busy)  Число нитей веб сервера, которые заняты обработкой клиенстких соединений
rd (reading)  Число занятых нитей веб сервера, которые сейчас читают запрос от клиента
wr (writing)  Число занятых нитей веб сервера, которые считали запрос от клиента, и или обрабатывают запрос (например, ожидают ответа от WebSphere Application Server), или  возвращают ответ клиенту
ka (keepalive)  Число занятых нитей веб сервера, которые не обрабатывают запрос, но ждут следующего запроса клиента в этом же соединении (см. KeepAliveTimeout для уменьшения времени,  проводимого нитями веб сервера в этом состоянии)
log (logging)  Число занятых нитей веб сервера, которые пишут в журнал access.log
dns (dns lookup)  Число занятых нитей веб сервера, которые выполняют поиск в DNS
cls (closing)  Число занятых нитей веб сервера, которые ждут подтверждения от клиента, что ответ был получен и можно закрывать соединение

     Если модуль mod_mpmstats подключен с директивой TrackModules, то в журнале error.log, в паре с записями, описанными выше, будут формироваться следующие сообщения:

[Mon Aug 26 15:53:44 2013] [notice] mpmstats: rdy 517 bsy 83 rd 0 wr 11 ka 59 log 0 dns 0 cls 13
[Mon Aug 26 15:53:44 2013] [notice] mpmstats: bsy: 11 in mod_was_ap22_http.c

Вторая строка показывает число запросов, обрабатываемых в настоящее время плагином. Обычно это число совпадает со значением параметра “wr” (см. таблицу выше).

     Собрав статистику по количеству занятых нитей веб сервера за сутки, можно определить максимальное число одновременных соединений, которое должно быть основано на самой “оживленной” части дня, когда достигается наибольшая активность в работе с нитями веб сервера.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
Tagged with: , , , ,
Posted in IBM HTTP Server & Plug-in, WebSphere Application Server

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Language: