Внутренняя статистика работы |
Dr.Web MailD позволяет вести следующие виды внутренней статистики работы: 1. Статистика срабатывания SMTP-ограничений. 2. Статистика пулов потоков и соединений.
Статистика срабатывания SMTP-ограничений Статистика срабатывания SMTP-ограничений (ограничений для SMTP-сессии, указанных в настройках компонента Receiver в секции [Receiver] основного конфигурационного файла Dr.Web MailD), сохраняется в файл restrictions.txt. Статистика сохраняется только в случае если явно разрешен ее сбор. Включением сбора статистики управляет параметр RestrictionStat, находящийся в этой же секции конфигурационного файла. Статистические записи всегда добавляются в конец файла. Каждая запись начинается со следующих строк: ================================== в которых указывается время предыдущего сбора статистики, время сброса в файл текущей статистической записи, а также временной период, прошедший между этими моментами. Далее, после пустой строки, перечисляются все ограничения, настроенные для SMTP-сессии, по одному на строку. Примерный вид строки со статистикой ограничения показан ниже: reject_unknown_domain: total: 19 trusted: 0 reject: 0 tempfail: 0 Для каждого ограничения указывается: •название ограничения; •общее количенство писем, для которых выполнялась проверка этого ограничения (total:); •количество писем, которым был присвоен статус trusted в результате срабатывания этого ограничения (trusted:); •количество писем, которые были отклонены в результате срабатывания этого ограничения (reject:); •количество писем, по которым клиенту вернулся SMTP-ответ Tempfail (tempfail:). Обратите внимание, что статистика не суммируется. Каждая статистическая запись фиксирует количество сработавших ограничений в период между текущим и предыдущим моментами сохранения статистики. Статистика срабатывания ограничений фиксируется только в случае если Dr.Web MailD работает в режиме SMTP/LMTP-прокси. Статистика пулов потоков и соединений Статистика по работе пула потоков (соединений) собирается, если ее явно включить в настройках этого пула (например, параметры InPoolOptions и OutPoolOptions в секции [Maild] конфигурационного файла Dr.Web MailD), установив дополнительную настройку stat = yes. Пример: InPoolOptions = auto, stat = yes Обратите внимание, что для компонентов Sender и Receiver статистика собирается всегда, поскольку для настроек их пулов дополнительные параметры (такие как timeout, stat и т.п.) не задаются, а если заданы, то не имеют никакого эффекта. Накопленная статистика сбрасывается в файл журнала как сообщение уровня Debug при получении сигнала SIGUSR1, а также при завершении работы Dr.Web MailD. Обратите внимание, что если у вас уровень подробности ведения журнала установлен в менее подробный уровень, чем Debug, статистика в него попадать не будет. Статистическая запись имеет следующий вид (пример): size = 50, active = 0, pending = 0, min = 50, max = 500, threshold = 50 Здесь указывается: •size – текущий размер пула потоков (количество потоков в пуле); •active – количество потоков, активных в пуле на момент сохранения записи; •pending – количество задач, ожидающих освобождения потока в пуле на момент сохранения записи; •min – минимальное возможное число потоков в пуле; •max – максимальное возможное число потоков в пуле; •threshold – порог, превышение которого приводит к увеличению количества потоков в пуле. Статистика не имеет накапливающего характера, при получении сигнала в журнале всегда фиксируется текущее состояние пула. Кроме того, для некоторых пулов также формируются отдельные файлы со статистикой, статистические записи в которые также сбрасываются по получению сигнала SIGUSR1 и при завершении работы Dr.Web MailD. Имена файлов статистики соответствуют следующему шаблону: •name_[callback_](cli|srv)[.unique-id].txt - для статистики по соединениям; •name_[callback_](thr[N])[.unique-id].txt - для статистики по потокам. где: •name - имя компонента (является именем соответствующего модуля без части "drweb-"). •callback - указывается для callback-интерфейса компонента Receiver. •cli - для соединений клиентской части. •srv - для соединений серверной части. •unique-id - указывается для модулей, запущенных с уникальным идентификатором. •thr - указывается для пула потоков. Если такой файл уже существует, то статистика будет добавлена в конец файла. Каждая запись начинается со следующих строк: ================================== в которых указывается время предыдущего сбора статистики, время сброса в файл текущей статистической записи, а также временной период, прошедший между этими моментами. Для srv затем указывается число закрытых и созданных соединений, а также максимальное число элементов в различных очередях: closed: 0 (0 num/sec) Для cli также указывается число созданных соединений по запросу, число закрытых соединений по истечении времени ожидания, среднее и текущее число соединений: created on request = 0 (0 num/sec) Для thr вывод имеет вид: min = 2 max = 2147483647 type = 0 freetime = 120 Здесь указывается: •в первой строке – минимальное/максимальное число потоков в пуле, тип пула, время в секундах, в течение которого дополнительный поток будет в бездействии перед тем, как завершится; •во второй строке – максимальное и среднее число занятых одновременно потоков; •в третьей строке – число запросов на создание дополнительных потоков и частота таких запросов; •в четвертой строке – число неудавшихся попыток создания потоков (скорее всего из-за нехватки ресурсов); •в пятой строке – максимальное и среднее время обработки одного запроса в миллисекундах; •в шестой и последней строке – текущее число потоков в пуле и какое их количество сейчас занято обработкой. |