вторник, 11 января 2011 г.

Регулирование количества сообщений (Message Throttling)

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

Механизм регулирования количества сообщений перешел из MS Exchange 2007 практически без изменений. Давайте коротко посмотрим на его настройки.

Нужно учесть, что данный вид регулирования может быть установлен только на транспортных серверах, т.е. на транспортном сервере-концентраторе (HUB), либо на пограничном транспортном сервере (Edge). Данное ограничение может быть применено:

  • К самому транспортному серверу;
  • К соединителю отправки;
  • К соединителю получения.

Могут быть использованы следующие параметры для регулирования:

На транспортном сервере:

Ограничения устанавливаются командлетом Set-TransportServer с применением следующих параметров:

MaxConcurrentMailboxDeliveries

(20)

Максимальное количество потоков доставки, которое HUB может одновременно открыть для доставки сообщений в почтовые ящики.

MaxConcurrentMailboxSubmissions

(20)

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

MaxConnectionRatePerMinute

(1200 подключений в минуту)

Максимальную скорость открытия новых входящих подключений к серверам HUB либо Edge.

MaxOutboundConnections

(1000)

Максимальное количество одновременно открытых исходящих подключений на серверах HUB либо Edge.

MaxPerDomainOutboundConnections (20)

Максимальное количество подключений к одному удаленному домену, которое может быть открыто на серверах HUB либо Edge.

PickupDirectoryMaxMessagesPerMinute

(100 сообщений в минуту)

Скорость обработки сообщений каталогами раскладки и преобразования

На соединителе отправки:

Для отправки может быть установлено одно единственное ограничение, определяющее максимальное количество времени, в течение которого подключение по протоколу SMTP к конечному серверу может оставаться открытым при его бездействии. Устанавливается оно командлетом Set-SendConnector с использованием параметра ConnectionInactivityTimeOut. По умолчанию данное значение равняется 10 минутам.

На соединителе получения:

Ограничения устанавливаются командлетом Set-ReceiveConnector с применением следующих параметров:

ConnectionInactivityTimeOut

(HUB – 5 мин., Edge – 1 мин.)

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

ConnectionTimeOut

(HUB – 10 мин., Edge – 5 мин.)

Аналогично предыдущему, только для соединений, по которым передаются данные.

MaxInboundConnection

(5000)

максимальное количество одновременных входящих подключений SMTP

MaxInboundConnection

PercentagePerSource

(2% от MaxInboundConnection)

Максимальное количество одновременных подключений SMTP с одного исходного сервера. Выражается в процентах от MaxInboundConnection.

MaxInboundConnectionPerSource

(100)

Аналогично предыдущему, только в единицах.

MaxProtocolErrors

(5)

Максимальное количество ошибок протокола SMTP перед закрытием соединения

TarpitInterval

(5 сек.)

Продолжительность искусственной задержки ответов, для предотвращения искусственного сбора адресов.

Примечание: Параметр ConnectionTimeOut важен в том случае, если у вас очень медленное соединение между сервером-отправителем и сервером-получателем. Например, может возникнуть ситуация, когда пользователю разрешено отправлять большие сообщения, но по медленному каналу связи это сообщение не может быть передано за 10 минут, в таком случае сообщение зависнет в очереди и не будет передано совсем.

Замедленная обратная реакция

Плюсом к описанным выше параметрам, функционал регулирования количества сообщений включает в себя ещё один механизм регулирования нагрузки - замедленная обратная реакция (back pressure). Замедленная обратная реакция — это функция наблюдения за ресурсами системы на транспортных серверах, при которой при превышении определенного порогового значения загрузки, например процессора, памяти или жесткого диска, транспортный сервер Exchange прекращает принимать новые подключения и сообщения и направляет все ресурсы на доставку существующих сообщений. Когда степень загрузки системных ресурсов, за которыми ведется наблюдение, возвращается к нормальному уровню, транспортный сервер Exchange начинает принимать новые подключения и сообщения.

К каждому системному ресурсу на транспортном сервере-концентраторе или пограничном транспортном сервере, за которым ведется наблюдение, применяются три следующих уровня использования ресурса:

  • Нормальный.   Ресурс не перегружен. Сервер принимает новые подключения и сообщения.
  • Средний.   Ресурс работает с небольшой перегрузкой. Замедленная обратная реакция применяется к серверу в ограниченном объеме. Поток почты от отправителей, находящихся в заслуживающем доверия домене, не прерывается. Однако в зависимости от перегруженного ресурса сервер использует искусственную задержку ответов, чтобы задержать ответ сервера, или отклоняет входящие команды «MAIL FROM» из других источников.
  • Высокий.   Ресурс сильно перегружен. Замедленная обратная реакция применяется в полном объеме. Передача всех сообщений прекращается, и сервер отклоняет все новые входящие команды «MAIL FROM».

Подробнее об этом механизме можно прочитать в библиотеке TechNet`a.

Заключение

Это пожалуй все, что я хотел рассказать про регулирование количества сообщений. Изложенный материал применим как серверу MS Exchange 2010, так и Exchange 2007. Хочется ещё заметить, что в дополнение к ограничению количества сообщений, обрабатываемых транспортными серверами, есть ещё возможность ограничить размер этих самых сообщений, подробнее эта тема ранее мной была раскрыта в статье Управление ограничениями размера сообщения.

В следующей статье мы поговорим про новые возможности 2010-го сервера, которые появились в политиках регулирования клиентов.

2 комментария:

Евлапий комментирует...

Алексей, подскажите, как отследить кто создает большое кол-во сообщений на отправку. Сейчас messages\sec > 1000

Алексей Богомолов (Alexx) комментирует...

По Message tracking логам можно отследить. Ну или вот, посмотрите скрипт https://blogs.technet.microsoft.com/toomasr/2014/06/16/finding-sentreceived-per-user-per-day-and-average-message-size/

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