Настройка RPC таймаутов в Exchange 2010 и медленная работа почты на iPAD

Как вы, вероятно, знаете в Exchange 2010 / 2007 для доступа клиентов используется протокол RPC (Remote Procedure Calls). Так, например, потовые клиенты Outlook, Outlook Anywhere (OA) и ActiveSync для MAPI-доступа к ящику используют протокол RPC.

При осуществлении сетевого взаимодействия между клиентом и сервером Exchange по RPC используется стандартный параметр, отвечающий за поддержание подключения — keep alive, временное значение которого по-умолчанию равно 15 минутам (это стандартное значение таймаута подключения idle connection timeout  в IIS). При использовании такого значения таймаута при условиях работы в LAN/ WAN сети, проблем обычно не возникает. Однако при внешнем подключении к Exchange (имеется в виду подключение из Интернет), используются пограничные межсетевые устройства (коммутаторы  и маршрутизаторы), значение таймаута на которых имеет более агрессивное значение.  Обычно длительность таймаута на подобных устройствах составляет 5 минут, что может вызвать проблемы при использовании почты на внешних клиентах, подключенных через Интернет, т.е. данное  сетевое оборудование просто сбрасывает сессию после 5 минут неактивности. Особенно часто проблемы наблюдаются при использовании Outlook Anywhere, или клиентов iPhone и iPad. Симптомы наличия проблем подобного рода – высокая загрузка CPU на серверах  Exchange Client Access Servers (CAS), медленная работа с почтой удаленных клиентов, наличие «застрявших» сообщений в папке «Исходящие».

Exchange 2010. Письма затсревают в папке исходящие
В последних best practice-ах от Micrsoft рекомендуется уменьшить значения таймаута  RPC keep alive на всех северах Client Access Server с 15 минут до 2-х. Данный параметр можно изменить в реестре Windows, ключ называется:

HKLM\Software\Policies\Microsoft\Windows NT\RPC\MinimumConnectionTimeout


По умолчанию параметр MinimumConnectionTimeout типа DWORD не задан, это означает, что RPC используется стандартное значение таймаута, составляющее 900 секунд (15 минут).

Напомним, что данную настройку нужно выполнять на серверах CAS, после чего обязательно перезапустить IIS.  С помощью следующей команды можно создать/переопределить значение MinimumConnectionTimeout и задать его значение, равное 120 секундам (2 минуты):

reg add "HKLM\Software\Policies\Microsoft\Windows NT\RPC" -v "MinimumConnectionTimeout" -t REG_DWORD -d 120

RPC таймаут в Exchange 2010
В результате, клиенты Outlook и ActiveSync используют новое значения таймаута, посылая пакет Keep-Alive  после двух минут неактивности.

Как пример необходимости данной настройки приведу следующий факт. В одной достаточно крупной компании, в которой для доступа к почте массово используются iPadы (около 2000 устройств), подключения которых обрабатывают 5 серверов CAS, собранных в массив для балансировки нагрузки, длительное время наблюдалась постоянная высокая 100% загрузка CPU на всех серверах CAS. После уменьшения значения RPC keep alive, средняя загрузка CPU на всех серверах упала до 15-20%, и скорость работы почты на iPad существенно улучшилась.


Предыдущая статья Следующая статья

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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)