疑難排解緩慢 RPC 要求處理問題
上次修改主題的時間: 2008-11-12
以 MAPI 模式使用 Microsoft Office Outlook 時,Outlook 會執行用戶端作業作為用戶端與伺服器之間的遠端程序呼叫 (RPC)。如果使用者是以連線模式執行,則會同步進行這些 RPC 呼叫。伺服器在滿足這些同步要求時造成的任何延遲都會直接影響使用者體驗和 Outlook 的回應。反之,會針對使用者信箱本機副本進行以「快取模式」執行時執行的大部分作業,或是以非同步 (背景) RPC 形式對伺服器發出這些作業。一般而言,非同步 RPC 不會影響 Outlook 用戶端本身的回應或整體體驗。
首次在伺服器上啟動 Microsoft Exchange Information Store 服務時,此服務會向 RPC 服務註冊,並接收 500 個 RPC 執行緒的配置。用戶端執行日常作業時,會連線並中斷與個別執行緒的連線。這包含讀取和傳送電子郵件、建立約會和工作,以及檢視行事曆。MSExchangeIS\RPC Requests 效能計數器指出目前使用中 (用戶端所「擁有」) 的執行緒數目。MSExchangeIS\RPC Operations/sec 效能計數器會反映伺服器在上一秒接收到的作業數目。如果 RPC 要求數目隨著時間不斷地增加,則伺服器會明顯無法快速地處理用戶端作業。當 MSExchangeIS\RPC Requests 效能計數器達到 500 時,表示已用完所有 RPC 執行緒,而在完成現有執行緒上的所有作業並釋出該執行緒之前,用戶端會無法將新的要求提交給伺服器。
因為 MSExchangeIS\RPC Operations/sec 效能計數器會反映伺服器的目前工作負載,所以十分適合用來識別 Exchange 處理時的瓶頸,特別是系統管理員知道其伺服器在尖峰時段和標準作業的預期值時。可以在每秒接收 300 個 RPC 作業時執行的伺服器,可能會致力於保持每秒 1500 個 RPC 作業。系統管理員一律應該檢閱 MSExchangeIS\RPC Operations/sec 計數器,並關聯此值的變更與 RPC 要求數目的變更。
如果用戶端抱怨 Exchange 效能欠佳,而且 MSExchangeIS\RPC Requests 和 MSExchangeIS\RPC Operations/sec 都過低或為零,則瓶頸明顯地不是在伺服器本身。這裡的問題是伺服器外部的某個項目讓資料根本無法到達伺服器。系統管理員應該檢閱 Active Directory 效能、網路效能、用戶端組態,以及其他可能會導致資料無法到達 Exchange 伺服器的區域。
如果 MSExchangeIS\RPC Requests 在 MSExchangeIS\RPC Operations/sec 相當穩定的同時不斷地增加,這表示伺服器無法處理現有的工作負載。系統管理員應該驗證硬體元件 (包含實體記憶體、儲存和處理器功能),或減少伺服器上的使用者數目。
如果 MSExchangeIS\RPC Requests 不斷增加,而 MSExchangeIS\RPC Operations/sec 不斷減少,這表示 Exchange 伺服器是瓶頸的來源。在此情況下,表示某個項目讓資訊儲存庫無法完成 RPC 作業,而且仍然配置關聯的 RPC 執行緒。隨著配置的執行緒的增加,伺服器用於新作業的可用執行緒就會變少,因此新作業的數目會減少。如果伺服器最後達到 500 個未完成的 RPC 要求,就會拒絕新的 RPC 作業。造成的原因一般是資訊儲存庫或整合式元件 (防毒、日誌等) 內的嚴重實體資源短缺 (記憶體或磁碟) 或處理問題。
下表包含用來疑難排解和找出 RPC 處理問題的最重要計數器。
RPC 處理的效能計數器
計數器 | 預期值 |
---|---|
MSExchangeIS\RPC Requests 指出 Microsoft Exchange Information Store 服務目前服務的 MAPI RPC 要求數目。 Microsoft Exchange Information Store 服務在拒絕新的用戶端要求之前,最多可以同時支援 500 個 RPC 要求。 |
|
MSExchangeIS\RPC Averaged Latency 指出過去 1024 個 RPC 封包中所有 RPC 作業的平均延遲時間 (毫秒)。 如需整體伺服器 RPC 平均延遲增加時對用戶端之影響的相關資訊,請參閱本主題後面的「用戶端節流」。 |
|
MSExchangeIS\RPC Operations/sec 指出每秒提交給資訊儲存庫的目前 RPC 作業數目。 |
|
MSExchangeIS\RPC Num. of Slow Packets 指出過去 1024 個延遲比 2 秒還要久的 RPC 封包數目。 |
|
用戶端監視
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 可使用之用戶端節流功能的詳細資訊,請參閱了解用戶端節流。
若要確保您目前閱讀的是最新資訊,並尋找其他的 Exchange Server 2007 說明文件,請造訪 Exchange Server 技術資源中心.