Устранение неполадок с обработкой медленных запросов RPC

 

Последнее изменение раздела: 2008-11-12

При использовании Microsoft Office Outlook в режиме MAPI  Outlook выполняет клиентские операции в качестве удаленных вызовов процедур (RPC) между клиентом и сервером. Если пользователь работает в сетевом режиме, эти вызовы RPC выполняются синхронно. Любая задержка выполнения этих синхронных запросов на сервере напрямую влияет на работу пользователей и скорость отклика Outlook. Напротив, большинство операций, которые происходят при работе в кэшированном режиме, выполняются с пользовательской локальной копией почтового ящика или передаются на сервер в виде асинхронных (фоновых) запросов RPC. Обычно асинхронные вызовы RPC не влияют на скорость отклика или общую работу самого клиента Outlook.

При первом запуске службы банка данных Microsoft Exchange на сервере она регистрируется в службе RPC и ей выделяется 500 потоков RPC. Клиенты подключаются к отдельным потокам и отключаются от них при выполнении ежедневных операций, таких как чтение и отправка электронной почты, просмотр календарей, создание встреч и задач. Счетчик производительности «MSExchangeIS\Запросов RPC» показывает, сколько потоков в данный момент используется клиентами. Счетчик производительности «MSExchangeIS\Операций RPC/с» отражает количество операций, полученных сервером за последнюю секунду. Если число запросов RPC постоянно растет, это указывает на то, что сервер недостаточно быстро обрабатывает клиентские операции. Когда значение счетчика «MSExchangeIS\Запросов RPC» достигнет 500, все потоки RPC будут истощены, а клиенты не смогут отправлять новые запросы на сервер до выполнения всех операций в существующем потоке и освобождения потока.

Так как счетчик производительности «MSExchangeIS\Операций RPC/с» показывает текущую рабочую нагрузку сервера, он очень полезен для определения узких мест на сервере Exchange, особенно если администраторам известны ожидаемые значения для сервера в период пиковой нагрузки и нормальной работы. Серверы, приемлемо работающие при получении 300 операций RPC в секунду, могут не справляться с нагрузкой в 1500 операций RPC в секунду. Администраторы всегда должны просматривать счетчик «MSExchangeIS\Операций RPC/с» и соотносить изменения его значения с изменениями количества запросов RPC.

Если клиенты жалуются на низкую производительность Exchange, а значения счетчиков «MSExchangeIS\Запросов RPC» и «MSExchangeIS\Операций RPC/с» низкие или равны нулю, это явный признак того, что узкое место находится не на самом сервере. В таком случае проблема заключается в том, что какие-то внешние факторы препятствуют попаданию данных на сервер. Администраторам необходимо изучить производительность Active Directory и сети, конфигурацию клиентов и другие факторы, которые могут приводить к тому, что данные не достигают сервера Exchange.

Если значение счетчика «MSExchangeIS\Запросов RPC» постоянно растет, а значение «MSExchangeIS\Операций RPC/с» относительно стабильно, это указывает на то, что сервер не справляется с существующей рабочей нагрузкой. Следует проверить аппаратные компоненты, в том числе физическую память, хранилище и мощность процессора, или уменьшить число пользователей сервера.

Если значение счетчика «MSExchangeIS\Запросов RPC» постоянно растет, а значение «MSExchangeIS\Операций RPC/с» постоянно падает, это указывает на то, что узкое место связано с сервером Exchange. В такой ситуации банку данных по какой-то причине не удается выполнять операции RPC, а связанные потоки RPC остаются выделенными. По мере выделения все большего и большего числа потоков количество доступных для новых операций потоков на сервере снижается, поэтому уменьшается число новых операций. Если число ожидающих обработки запросов RPC достигнет 500, новые операции RPC будут отклоняться. Это обычно вызвано либо серьезной нехваткой физических ресурсов (памяти или места на диске), либо проблемами с обработкой в банке данных или интегрированном компоненте (антивирусной программе, агенте ведения журнала и т. д.).

В таблице ниже приведены наиболее важные счетчики для устранения неполадок и изолирования проблем с обработкой RPC.

Счетчики производительности для обработки RPC

Счетчик Ожидаемые значения

MSExchangeIS\Запросов RPC

Показывает число запросов MAPI RPC, которые в данный момент обрабатываются службой банка данных Microsoft Exchange.

Служба банка данных Microsoft Exchange может одновременно поддерживать до 500 запросов RPC. После достижения этого числа новые запросы клиентов будут отклоняться.

  • Всегда должно быть меньше 70.

MSExchangeIS\Средняя задержка RPC

Показывает среднюю задержку для всех операций RPC в последних 1024 пакетах RPC (в миллисекундах).

Дополнительные сведения о том, как влияет на клиентов повышение общей средней задержки RPC сервера, см. в разделе «Регулирование клиентов» далее в этой теме.

  • Всегда должно быть меньше 25 миллисекунд.

MSExchangeIS\Операций RPC/с

Показывает текущее количество операций RPC, которые отправляются в банк данных каждую секунду.

  • Этот счетчик является хорошим показателем активности клиентов. Применяется только в информационных целях.

MSExchangeIS\Число медленных пакетов RPC

Показывает число пакетов RPC из последних 1024 пакетов, задержка которых превысила 2 с.

  • Всегда должно быть меньше 2. Некоторые нормальные операции могут занимать более двух секунд, но среднее значение всегда должно быть меньше 2.

Наблюдение за клиентами

Microsoft Office Outlook 2003 и Office Outlook 2007 включают дополнительные возможности для наблюдения за клиентами. Наблюдение за клиентами используется для поиска ошибок и проблем с задержками на клиентах. Для включения наблюдения за клиентами на сервере Exchange необходимо изменить реестр сервера. Если эта возможность включена, клиенты Outlook 2007 и Outlook 2003 отправляют данные на сервер на основе статуса и состояния подключения (в том числе с учетом сбоев запросов RPC и ошибок). Эти данные собираются на сервере и регистрируются на нем в журнале событий. Подробные действия по включению наблюдения за клиентами в Outlook см. в разделе Включение наблюдения за клиентами.

Регулирование клиентов

В Exchange 2007 доступна новая возможность, которая позволяет администраторам управлять производительностью системы для пользователей, — регулирование RPC-клиентов. Регулирование RPC-клиентов было введено с целью предотвращения отправки клиентскими приложениями слишком большого числа операций RPC в секунду на сервер Exchange, что может снижать общую производительность сервера. К таким клиентским приложениям относятся панели поиска, которые выполняют поиск во всех объектах почтового ящика пользователя, пользовательские приложения, предназначенные для работы с данными в почтовых ящиках Exchange, корпоративные продукты для архивации электронной почты или решения CRM для почтовых ящиков с автоматическим назначением меток. Регулирование клиентов позволяет Exchange выявлять и предотвращать случаи монопольного использования сервера несколькими пользователями. Если сервер Exchange определяет, что клиент имеет непропорционально большое воздействие на сервер, он отправит клиенту запрос на переход в пассивный режим, чтобы снизить его влияние на производительность. Дополнительные сведения о возможностях регулирования клиентов, доступных в Exchange 2007, см. в разделе Общие сведения о регулировании клиентов.