В данном разделе описывается использование оснастки IIS для решения проблемы, которая может возникать в организации, где многие пользователи используют для доступа к своим почтовым ящикам компонент сервера Microsoft Exchange Server 2007 — мобильный Outlook.
При использовании серверов клиентского доступа Exchange 2007 для подключений RPC через HTTP, например для мобильного Outlook, могут возникать симптомы, описанные ниже.
- Каждые 29 часов пользователи мобильного Outlook теряют
подключение к серверу Exchange. В этом случае пользователи
получают запрос на ввод учетных данных для повторного подключения к
своим почтовым ящикам.
- При наличии большого количества пользователей
мобильного Outlook многочисленные одновременные попытки
повторного подключения могут стать причиной переполнения сервера
запросами.
Причина
RPC через HTTP в службах IIS выполняется в пуле приложений по умолчанию (DefaultAppPool). По умолчанию этот пул приложений настроен на повторный запуск рабочих процессов через каждые 1 740 минут (29 часов). При повторном запуске перед завершением активных рабочих потоков службы IIS предоставляют им дополнительные 90 секунд для завершения обслуживания запросов.
Поскольку RPC через HTTP использует продолжительные подключения, дополнительных 90 секунд, предоставленных рабочим потокам, может быть не достаточно для завершения всех подключений. В таком случае эти подключения разрываются. Поэтому Outlook теряет подключение к службам IIS. После этого приложение Outlook немедленно пытается подключиться повторно. Если одновременно было отключено множество клиентов Outlook, многочисленные одновременные попытки повторного подключения могут стать причиной переполнения сервера запросами.
Решение
Чтобы устранить данную проблему, с помощью оснастки IIS выполните настройки, указанные ниже.
- Переместите компонент RPC через HTTP (rpcproxy) в собственный
пул приложений, если это целесообразно.
- Отключите повторный запуск рабочих процессов в пуле приложений,
в котором настроен компонент RPC через HTTP.
- Увеличьте предел очереди HTTP.sys с 1 000 (значение по
умолчанию) до 10 000.
Процедуры
-
Запустите диспетчер служб IIS.
-
Разверните узел локального компьютера, щелкните правой кнопкой мыши элемент Пулы приложений, выберите пункт Создать, а затем — пункт Пул приложений.
-
В диалоговом окне Добавить новый пул приложений введите описательное имя, например MSExchange_мобильный_Outlook, выберите элемент Использовать в качестве шаблона группу приложений, в списке Имя пула приложений выберите пункт DefaultAppPool и нажмите кнопку ОК.
-
Разверните узел Веб-узлы, а затем разверните веб-сайт, в котором расположено веб-приложение Rpc. Например, разверните узел Веб-узел по умолчанию. Щелкните правой кнопкой мыши элемент Rpc и выберите пункт Свойства.
-
На вкладке Виртуальный каталог в списке Пул приложений выберите созданный пул приложений. Например, выберите элемент MSExchange_мобильный_Outlook.
-
Нажмите кнопку ОК.
-
Выполните сброс служб IIS. Для этого в командной строке выполните команду iisreset.
-
Запустите диспетчер служб IIS.
-
Разверните узел локального компьютера, выберите элемент Пулы приложений, а затем выберите команду Добавить пул приложений.
-
В поле Имя введите описательное имя, например MSExchange_мобильный_Outlook, и нажмите кнопку ОК.
-
На панели Подключения разверните узел Узлы, а затем разверните веб-сайт, в котором расположено веб-приложение Rpc. Например, разверните узел Веб-узел по умолчанию. Щелкните правой кнопкой мыши элемент Rpc и выберите пункт Свойства.
-
Обратите внимание на параметры в диалоговом окне Дополнительные параметры.
-
На вкладке Общие нажмите кнопку с многоточием (…) рядом с элементом DefaultAppPool.
-
В списке Пул приложений выберите созданный пул приложений и дважды нажмите кнопку ОК.
-
Выполните сброс служб IIS. Для этого в командной строке выполните команду iisreset.
-
Запустите диспетчер служб IIS.
-
Разверните узел локального компьютера, затем — узел Пулы приложений, щелкните правой кнопкой мыши соответствующий пул приложений, например DefaultAppPool или созданный пул приложений, и выберите пункт Свойства.
-
Снимите флажок Перезапускать рабочие процессы через (мин) и нажмите кнопку ОК.
-
Запустите диспетчер служб IIS.
-
Разверните узел локального компьютера, а затем — узел Пулы приложений.
-
На панели Пулы приложений выберите соответствующий пул приложений, например DefaultAppPool или созданный пул приложений, а затем щелкните Дополнительные параметры.
-
В разделе Перезапуск измените значение параметра Постоянный временной интервал (в минутах). Замените 1740 (значение по умолчанию) на 0 (ноль). Нулевое значение отключает перезапуск рабочих процессов.
-
Нажмите кнопку ОК.
-
Запустите диспетчер служб IIS.
-
Разверните узел локального компьютера, затем — узел Пулы приложений, щелкните правой кнопкой мыши соответствующий пул приложений, например DefaultAppPool или созданный пул приложений, и выберите пункт Свойства.
-
Откройте вкладку Производительность и измените значение в поле Предел очереди запросов. Замените 1000 (значение по умолчанию) на 10 000.
-
Нажмите кнопку ОК.
-
Запустите диспетчер служб IIS.
-
Разверните узел локального компьютера, а затем — узел Пулы приложений.
-
На панели Пулы приложений выберите соответствующий пул приложений, например DefaultAppPool или созданный пул приложений, а затем щелкните Дополнительные параметры.
-
В разделе Общие измените значение параметра Длина очереди. Замените 1000 (значение по умолчанию) на 10 000.
-
Нажмите кнопку ОК.
Дополнительные сведения
Дополнительные сведения о масштабируемости мобильного Outlook см. в статье White Paper: Outlook Anywhere Scalability with Outlook 2007, Outlook 2003, and Exchange 2007 (на английском языке).