已手動新增 SMTP MsgHandleThreshold 登錄值,但可能不再需要此值

[本主題的目的是要說明 Exchange Server Analyzer 工具所引出的特定問題。您只應將它套用到已執行過 Exchange Server Analyzer 工具且有遇到該特定問題的系統。Exchange Server Analyzer 工具可免費下載,它會從拓撲中的每台伺服器遠端收集組態資料,並自動分析該資料。產生的報告會詳述重要的組態問題、潛在問題及非預設的產品設定。遵循這些建議,您便能達到較佳的效能、延展性、可靠性及執行時間。如需此工具的相關資訊或是要下載最新版本,請參閱 Microsoft Exchange Analyzer (https://go.microsoft.com/fwlink/?linkid=34707)。]  

上次修改主題的時間: 2006-09-06

Microsoft® Exchange Server Analyzer 工具會讀取下列登錄項目,以判定是否已修改最大網際網路資訊服務 (IIS) 檔案控制代碼數目的預設值 1,000:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\SMTPSvc\Queuing\MsgHandleThreshold

如果 Exchange Server Analyzer 發現 MsgHandleThreshold 已存在且已設為替代值,則會顯示非預設的組態訊息。

MsgHandleThreshold 值指定 IIS 可以使用的最大檔案控制代碼數。將檔案控制代碼快取以提高效能,因為快取的檔案控制代碼讓伺服器不必執行多餘的輸入/輸出 (I/O) 及 CPU 週期。每次 Exchange Server 電腦上的 SMTP 傳輸堆疊收到一封郵件時,該郵件會輸出到檔案系統等待傳送到它的目的地。為了寫入檔案系統,SMTP 傳輸堆疊會取得一個檔案控制代碼,然後將訊息傳遞到該檔案控制代碼。每一個檔案控制代碼消耗大約 2 KB 的分頁集區記憶體。IIS 快取檔案控制代碼的預設數目是每 32 MB 有 800 個。

在 Exchange 2000 Server Service Pack 2 (SP2) 之前,因為 SMTP 服務的最大檔案控制代碼數目的預設設定是 1,000,所以過去承受大量 SMTP 郵件佇列 (例如,平均 1,000 封或更多的郵件) 的 Exchange 伺服器會遇到效能限制。因為 Exchange 2000 Server 預設為最多 1000 個檔案控制代碼,所以 SMTP 服務只能將 1000 封同時傳入的郵件寫入檔案系統。

為了提高這些大型系統的效能,經常同時調整這三個登錄項目來增加可讓 SMTP 服務開啟的檔案控制代碼數目上限 (以便可以處理更多郵件),以及減少可安裝的檔案系統 (另一個 Exchange 元件) 的開啟檔案控制代碼數目 (以避免佇列變大時記憶體不足)。下面列出這些登錄值 (預設是不存在,因此需要手動新增它們):

位置:HKLM\System\CurrentControlSet\Services\SMTPSvc\Queuing

值:MsgHandleThreshold

類型:REG_DWORD

位置:HKLM\System\CurrentControlSet\Services\SMTPSvc\Queuing

值:MsgHandleAsyncThreshold

類型:REG_DWORD

位置:HKLM\System\CurrentControlSet\Services\Inetinfo\Parameters

值:FileCacheMaxHandles

類型:REG_DWORD

MsgHandleThresholdMsgHandleAsyncThreshold 項目一般會調整為相同的值 (通常是大於 1000 的值),而 FileCacheMaxHandles 值通常會從 800 減少為 600。

若此 Exchange 伺服器正在執行 Exchange 2000 Server,則建議的最佳作法是升級為最新等級的 Service Pack 與彙總套件。升級為最新的代碼後,建議您將 MsgHandleThreshold 值預設為 1000。

Exchange Server 2003 預設的 MsgHandleThreshold 值為 1000,所以不再需要這些登錄覆寫設定。因此,除非 Microsoft 產品支援服務另有指示,否則在將含有這些設定的 Exchange 2000 Server 電腦升級到 Exchange Server 2003 之前,您應該從登錄中刪除這些項目。

important重要事項:
這篇文章包含和編輯登錄有關的資訊。在編輯登錄之前,請確定若發生問題時,您知道如何還原登錄。若需有關還原登錄的詳細資訊,請參考 Regedit.exe 或 Regedt32.exe 中的<還原登錄>說明主題。

若要更正此錯誤

  1. 開啟登錄編輯程式,例如 Regedit.exe 或 Regedt32.exe。

  2. 瀏覽至:HKLM\System\CurrentControlSet\Services\SMTPSvc\Queuing

  3. 刪除 MsgHandleThreshold 值。

  4. 關閉登錄編輯程式,然後重新啟動 IIS Admin Service,使變更生效。

編輯登錄之前,若需如何編輯登錄的相關資訊,請參閱微軟知識庫文件 - 256986<Microsoft Windows 登錄說明>(https://go.microsoft.com/fwlink/?linkid=3052&kbid=256986)。