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

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

上次修改主題的時間: 2007-01-17

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

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\SMTPSvc\Queuing\MsgHandleAsyncThreshold

如果 Exchange Server Analyzer 發現 MsgHandleAsyncThreshold 存在且設為其他值,就會顯示一則警告。

MsgHandleAsyncThreshold 值指定 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 2000 Server (含 SP2 及更新版本) 會動態判定要使用的最佳值。如果此 Exchange 伺服器執行的是 Exchange 2000 Server Service Pack 1 (SP1) 或更早版本,建議使用的最佳作法是升級成最新的 Service Pack 及彙總套件。升級到最新的程式碼之後,您可以刪除這些登錄項目。

由於 Exchange Server 2003 會動態計算 SMTP 檔控制代碼的適當設定,所以不再需要這些設定。因此,除非 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. 在右窗格中,刪除 MsgHandleAsyncThreshold 值。

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

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