資料庫快取大小未設定為建議的值

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

上次修改主題的時間: 2009-04-07

在執行 Hub Transport role 或 Edge Transport role 的 Microsoft Exchange Server 2007 電腦上,Microsoft Exchange Analyzer 工具會檢查已安裝的 RAM 數量與 DatabaseMaxCacheSize 值。

如果符合下列條件,則 Exchange Analyzer 會產生內含下列資訊的最佳作法訊息:

  • 安裝的 RAM 等於或大於 4 GB。
  • DatabaseMaxCacheSize 參數未設定為 512 MB。

這則訊息代表已變更建議的資料庫快取大小上限。

Exchange 2007 的傳輸資料庫快取大小預設為 128 MB。雖然這個大小可能足以供一般使用,但是在發生一般訊息比率或非預期訊息負載的 Hub Transport 或 Edge Transport Server 上,128 MB 的資料庫快取大小上限可能就不足。若要進一步允許快取成長,建議在 RAM 等於或超過 4 GB 的傳輸伺服器上,將 DatabaseMaxCacheSize 值從 128 MB 增加為 512 MB。

Microsoft Exchange Transport 服務會使用可延伸儲存引擎 (ESE) 進行郵件傳輸功能。這項功能提供下列優於舊版 Exchange 的優點,而舊版是使用 NTFS 檔案系統進行郵件傳輸功能:

  • 改善效能。ESE 會先將交易寫入至記錄檔和 RAM。接著,ESE 會將交易寫入至資料庫檔案。
  • 增加儲存於佇列中之資料的交易完整性。
  • 所有郵件佇列都會保留在單一位置 (即傳輸郵件佇列資料庫)。在 Exchange 2003 中,郵件在處理期間會儲存於兩個位置:檔案資料夾結構和本機資訊儲存庫。

雖然 Mailbox server role 會動態增加 ESE 快取大小,但是 Hub Transport 或 Edge Transport role 不會動態增加 ESE 快取大小。而是,ESE 快取的大小上限會預設為 128 MB。這個值設定於 EdgeTransport.exe.config 檔案的 DatabaseMaxCacheSize 參數中。

Exchange 2007 資源監視器會追蹤目前儲存於記憶體中的已使用版本桶 (Bucket) 數。已使用的版本桶數超過 EdgeTransport.exe.config 檔案中指定的閾值時,資源監視器會記錄事件識別碼 15004。此事件表示伺服器發生資源背壓。背壓事件是發生下列行為的分段處理序:

  1. 達到第一個閾值時,傳輸伺服器會嘗試封鎖新的內送 SMTP 郵件。
  2. 達到第二個閾值時,傳輸伺服器會防止新的 Mailbox Server 連線。這是為了讓傳輸伺服器有時間嘗試清除記憶體中的未認可交易,並將交易放入佇列資料庫檔案中。

版本桶閾值具有下列預設值:

Exchange 版本 中間閾值 最大閾值

Exchange 2007 RTM

60

100

Exchange 2007 SP1

120

200

建議您不要提高這些值來嘗試暫時解決背壓狀況。提高這些值可能會影響伺服器可用性。

若要使用版本桶來改善效能,以及允許增進的資料庫快取成長,請在 RAM 等於或超過 4 GB 的 Hub Transport 或 Edge Transport Server 上,將 DatabaseMaxCacheSize 值從 128 MB 增加為 512 MB。

在 Exchange 2007 中增加 DatabaseMaxCacheSize 值

  1. 登入 Hub Transport 或 Edge Transport Server。

  2. 啟動 Windows 檔案總管,然後找到下列資料夾:

    %ProgramFiles%\Microsoft\Exchange Server\Bin

  3. 在詳細資料窗格中,使用文字編輯器 (如記事本) 來開啟 EdgeTransport.exe.config 檔案。

  4. 尋找 DatabaseMaxCacheSize 參數。若要執行此動作,請按 CTRL+F,並在 [尋找目標] 方塊中輸入 databasemaxcachesize,然後按一下 [找下一個]。這個參數顯示如下:

    <add key = "DatabaseMaxCacheSize" value="134217728" />

  5. 將值取代為 536870912。這個參數應該顯示如下:

    <add key = "DatabaseMaxCacheSize" value="536870912" />

  6. 將變更儲存至 EdgeTransport.exe.config 檔案,然後重新啟動 Microsoft Exchange Transport 服務。若要重新啟動這項服務,請遵循下列步驟:

    1. 依序按一下 [開始]、[執行],輸入 cmd,然後按一下 [確定]。
    2. 在命令提示字元中,輸入 net stop msexchangetransport && net start msexchangetransport,然後按 ENTER。

相關資訊

如需背壓的相關資訊,請參閱<了解背壓>(https://go.microsoft.com/fwlink/?LinkId=148183)。

如需傳輸伺服器儲存的相關資訊,請參閱<傳輸伺服器儲存設計>(https://go.microsoft.com/fwlink/?LinkId=148185)。

如需資料庫快取大小的相關資訊,請參閱 Microsoft Exchange 團隊 Web 部落格<Exchange 2007 Hub Transport Server role 的新資料庫快取大小上限指導>(https://go.microsoft.com/fwlink/?LinkId=121590) (英文)。

note附註:
每個網誌的內容及其 URL 如有變更,恕不另行通知。每個網誌的內容係依「現狀」提供,不為瑕疵責任擔保且不賦予任何權力。使用內含的指令碼範例或程式碼受限於 Microsoft 使用規定中指定的條款。