瞭解資料庫與記錄檔效能因素
適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3
上次修改主題的時間: 2016-11-28
本主題討論 Microsoft Exchange Server 2010 中資料庫和記錄 I/O 的效能因素。了解這些因素對信箱伺服器儲存體設計解決方案而言很重要。如需設計程序中其他主要領域的相關資訊,請參閱信箱伺服器儲存設計。
目錄
交易式 I/O
了解 IOPS
非交易式 I/O
交易式 I/O
交易式 I/O 通常定義為使用者活動所產生的 I/O。使用者活動的範例包括接收/傳送/刪除項目、同步處理 Windows Mobile 用戶端以及透過 Microsoft Office Outlook Web App 登入等。
交易式 I/O Exchange 2010 儲存體設定的重要部分,因為 I/O 延遲 (執行 I/O 作業所需的時間) 可能會直接影響到線上用戶端 (如 Microsoft Outlook 線上模式和 Outlook Web App) 的使用者經驗。Outlook 中的 Exchange 快取模式也會在使用它進行如委派存取和設定規則等工作時受到高 I/O 延遲的影響。所有用戶端都會受到由於高延遲 I/O 所導致電子郵件傳遞延遲的影響。交易式 I/O可分為資料庫磁碟區 I/O 和記錄磁碟區 I/O。
Exchange 2010 中的交易式 I/O 需求已比 Exchange Server 2007 降低。並非所有針對信箱資料庫和記錄磁碟區發生的 I/O 皆會視為交易式 I/O。如需詳細資訊,請參閱了解 Exchange 2010 儲存區。
回到頁首
了解 IOPS
對於所有版本的 Exchange,了解每位使用者耗用的每秒資料庫 I/O (IOPS) 量相當重要,因為這是判斷儲存大小所需的其中一個重要交易式 I/O 量值。下列各節將討論在設計 Mailbox server role 儲存體時會影響 IOPS 的因素。
資料庫快取
執行 64 位元版本 Exchange 2010 的 64 位元版本 Windows Server 作業系統可大幅增加虛擬位址空間,使 Exchange 得以增加其資料庫快取、減少資料庫讀取 I/O,並讓每部伺服器最多有 100 個資料庫。
資料庫讀取量減少取決於伺服器可用的資料庫快取數量和使用者郵件設定檔。如需有關記憶體和資料庫的指導,請參閱瞭解信箱資料庫快取。遵循該主題的指導最多可以減少 Exchange Server 2003 的 90% 交易式 I/O。每個使用者的資料庫快取數量是造成 I/O 實際減少的關鍵因素。
下表示範針對使用 100 筆訊息/每日設定檔信箱的使用者族群,比較 Exchange 2003 中每個信箱預設 900 MB 資料庫快取與 Exchange 2010 中每個信箱 6 MB 資料庫快取時,每個信箱實際增加的資料庫快取量。這個 Exchange 2010 中額外的資料庫快取,使得快取讀取點擊次數提高,進而減少了磁碟層級的資料庫讀取活動。
以信箱個數為基礎的資料庫快取大小
信箱個數 | 每個信箱的 Exchange 2003 資料庫快取 (MB) | 每個信箱的 Exchange 2010 資料庫快取 (MB) | 超過 Exchange 2003 的資料庫快取增加量 |
---|---|---|---|
4000 |
0.225 |
6 |
27 倍 |
2000 |
0.45 |
6 |
13 倍 |
1000 |
0.9 |
6 |
7 倍 |
500 |
1.8 |
6 |
5 倍 |
回到頁首
判斷 Exchange 2010 信箱的 IOPS 設定檔
可用來預測 Exchange 2010 資料庫 IOPS 的兩個最重要因素是每位使用者的資料庫快取量,以及每位使用者每天傳送和接收的郵件數目。下表是以在 Exchange 快取模式中使用 Outlook 2010 的標準工作者為基礎。其中的資訊在經過測試後,其精準度在 +20% 或 -20% 的範圍之內。其他用戶端類型和使用案例可能會產生不精準的結果。此預測只對介於 3 MB 到 30 MB 大小的使用者資料庫快取有效。在使用者每天傳送及接收超過 500 封郵件的案例中,資訊均尚未經過驗證。通過驗證的平均郵件大小為 75 KB,但郵件大小並非 IOPS 的主要因素。
下表提供每位使用者的 IOPS 預估值,您可用來預測基準 Exchange 2010 IOPS 需求,並包含所有資料庫 I/O (資料庫、內容索引及 NTFS 中繼資料)。其中不包含記錄磁碟區 I/O。
以郵件活動為基礎的資料庫快取和各信箱的預估 IOPS
每日每個信箱傳送/接收的郵件 | 每個信箱的資料庫快取 (MB) | 單一資料庫複本 (獨立):各信箱的預估 IOPS | 多個資料庫副本 (信箱恢復功能):各信箱的預估 IOPS |
---|---|---|---|
50 |
3 |
0.06 |
0.05 |
100 |
6 |
0.120 |
0.100 |
150 |
9 |
0.18 |
0.150 |
200 |
12 |
0.240 |
0.200 |
250 |
15 |
0.300 |
0.250 |
300 |
18 |
0.360 |
0.300 |
350 |
21 |
0.420 |
0.350 |
400 |
24 |
0.480 |
0.400 |
450 |
27 |
0.540 |
0.450 |
500 |
30 |
0.600 |
0.500 |
信箱恢復功能是指 Exchange 2010 中整合高可用性和站台恢復解決方案的名稱。如需詳細資訊,請參閱瞭解高可用性和站台恢復。
回到頁首
資料庫磁碟區 I/O
資料庫磁碟區 I/O 是與資料庫檔案 (.edb) 讀/寫活動、內容索引讀/寫活動,以及 NTFS 中繼資料讀/寫活動相關的 I/O。
在 Exchange 2003 中,資料庫讀取/寫入比率通常是 2:1 或 66% 讀取率。就 Exchange 2010 而言,資料庫快取變大會減少磁碟上的資料庫讀取次數,造成讀取次數佔總 I/O 的百分比縮小。
如果您遵循我們建議的記憶體指導方針,則可以看到下列主動資料庫複本的 I/O 比率。如需記憶體指導方針的詳細資訊,請參閱瞭解記憶體組態和 Exchange 效能。此測量包含所有資料庫磁碟區 I/O (資料庫、內容索引及 NTFS 中繼資料);其中不包含記錄磁碟區 I/O。
信箱資料庫 I/O 讀取/寫入比率
每日每個信箱傳送/接收的郵件 | 獨立資料庫 | 參與信箱恢復功能的資料庫 |
---|---|---|
50 |
1:1 |
3:2 |
100 |
1:1 |
3:2 |
150 |
1:1 |
3:2 |
200 |
1:1 |
3:2 |
250 |
1:1 |
3:2 |
300 |
2:3 |
1:1 |
350 |
2:3 |
1:1 |
400 |
2:3 |
1:1 |
450 |
2:3 |
1:1 |
500 |
2:3 |
1:1 |
例如,在信箱伺服器上,如果您在維持三個資料庫複本的資料庫可用性群組 (DAG) 中部署了 24,000 個信箱,每個資料庫的資料庫讀取與寫入的比率為 3:2。或者,換句話說,所有對主控資料庫之邏輯單元數 (LUN) 的 I/O 中有 60% 是讀取 I/O。
選擇會因寫入活動帶來高昂成本的獨立磁碟容錯陣列 (RAID) 類型 (例如 RAID5 或 RAID6) 時,寫入次數佔總 I/O 百分比變高代表特別的含意。如需為伺服器選擇適當 RAID 解決方案的詳細資訊,請參閱瞭解儲存裝置組態。
計算每部信箱伺服器的 IOPS
計算 Exchange 2010 中每個信箱的 IOPS 需要比舊版 Exchange 更多的步驟才能完成,原因如下:
您現在可以將資料庫與記錄合併在相同的磁碟區上,
您可以主控相同伺服器上的主動和被動資料庫複本,
額外的循序 I/O 背景工作 (例如,背景資料庫維護)。
純循序 I/O 作業未考慮每部信箱伺服器計算的 IOPS,因為儲存子系統會以比隨機 I/O 更有效的方式處理循序 I/O。這些作業包括背景資料庫維護、記錄交易式 I/O 及記錄複寫 I/O。
根據儲存體的設計方式,每部信箱伺服器的 IOPS 的計算方式稍有不同:
資料庫檔案與記錄檔共用單一磁碟區。
資料庫檔案儲存在與交易記錄檔不同的磁碟區。
對於這兩種儲存體設計,請使用效能監視器 (perfmon.exe) 來測量兩小時的尖峰期間 (取樣間隔為 5 秒)。這是當天的時間,其中系統的大多數負載是由用戶端活動所產生 (例如,上午 10 點到下午 12 點)。此期間通常是 10 小時每日平均負載的兩倍 (尖峰與平均的比率為 2:1)。
每個信箱伺服器的 IOPS:資料庫檔案和記錄檔共用單一磁碟區
在這種組態下,資料庫檔案和記錄檔會存放在相同的磁碟區上。這個範例假設每個資料庫位於專用磁碟的不同磁碟區。請在下表中針對所有資料庫填寫所收集的效能監視器記錄 (如上一節所述)。
資料庫名稱 | 邏輯磁碟 -> 磁碟讀取/秒 | 邏輯磁碟 -> 磁碟寫入/秒 | MSExchange DatabaseInstances ->資料庫維護 IO 讀取數/秒 | MSExchange DatabaseInstances ->I/O 資料庫讀取 (復原)/秒 | MSExchange DatabaseInstances ->I/O 資料庫寫入 (復原)/秒 | MSExchange DatabaseInstances ->IO 記錄寫入/秒 |
---|---|---|---|---|---|---|
資料庫 1 |
||||||
資料庫 2 |
||||||
資料庫 3 |
||||||
資料庫 4 |
||||||
任何其他的資料庫 |
||||||
總計 |
由每欄新增總數,然後執行下列計算,以判斷每部信箱伺服器的 IOPS。
**計算摘要:**邏輯磁碟 IO 的總和 - (資料庫維護 IO 的總和 + 復原 (記錄檔重新顯示) IO + 記錄 IO) / 每部伺服器在效能監視器記錄測量期間主控的信箱數。
計算詳細資料:((邏輯磁碟 -> 磁碟讀取/秒 + 邏輯磁碟 ->磁碟寫入/秒) - (MSExchange 資料庫 ==> 執行個體 -> 資料庫維護 IO 讀取數/秒 + MSExchange 資料庫 ==> 執行個體 -> I/O 資料庫讀取 (復原)/秒 + MSExchange 資料庫 ==> 執行個體 -> I/O 資料庫寫入 (復原)/秒 + MSExchange 資料庫 ==> 執行個體 -> IO 記錄寫入/秒))/ 每部伺服器在效能監視器記錄測量期間主控的信箱數 = 每部信箱伺服器的 IOPS。
回到頁首
IOPS/信箱:專用的資料庫檔案磁碟區
在此組態下,資料庫檔案會儲存在與交易記錄檔不同的磁碟區。這個範例假設每個資料庫位於專用磁碟的不同磁碟區。請在下表中針對所有資料庫填寫所收集的 perfmon 記錄 (如上一節所述)。
資料庫名稱 | 邏輯磁碟 -> 磁碟讀取/秒 | 邏輯磁碟 -> 磁碟寫入/秒 | MSExchange 資料庫 ==> 執行個體 ->資料庫維護 IO 讀取數/秒 | MSExchange 資料庫 ==> 執行個體 ->I/O 資料庫讀取 (復原)/秒 | MSExchange 資料庫 ==> 執行個體 ->I/O 資料庫寫入 (復原)/秒 |
---|---|---|---|---|---|
資料庫 1 |
|||||
資料庫 2 |
|||||
資料庫 3 |
|||||
資料庫 4 |
|||||
任何其他的資料庫 |
|||||
總計 |
附註: |
---|
依預設,您無法在 Exchange 2010 中看見 MSExchange 資料庫 ==> 執行個體 ->資料庫維護 IO 讀取數/秒效能計數器。您必須啟用此計數器,才能加以檢視。如需如何啟用此效能計數器的相關資訊,請參閱如何啟用延伸的 ESE 效能計數器 |
若要判斷每部信箱伺服器的 IOPS,請由每欄新增總數並執行下列計算。
**計算摘要:**邏輯磁碟 IO 的總和 - (資料庫維護 IO 的總和 + 復原 (記錄檔重新顯示) IO) / 每部伺服器在 perfmon 記錄測量期間主控的信箱數。
計算詳細資料:((邏輯磁碟 -> 磁碟讀取/秒 + 邏輯磁碟 ->磁碟寫入/秒) - (MSExchange 資料庫 ==> 執行個體 -> 資料庫維護 IO 讀取數/秒 + MSExchange 資料庫 ==> 執行個體 -> I/O 資料庫讀取 (復原)/秒 + MSExchange 資料庫 ==> 執行個體 -> I/O 資料庫寫入 (復原)/秒))/ 每部伺服器在效能監視器記錄測量期間主控的信箱數 = 每部信箱伺服器的 IOPS。
測量基準 IOPS
如果您使用舊版的 Exchange,而且已計算基準 IOPS,請注意,Exchange 2010 會以下列方式影響此基準:
伺服器上的使用者數目會影響每位使用者的整體資料庫快取。
RAM 量會影響您的資料庫快取可增加的大小,較大的資料庫快取會產生較高的快取讀取命中率。如此會減少您的資料庫讀取 I/O。
此處理程序的關鍵,在於特定伺服器上的 IOPS 資訊並不足以供整個企業進行規劃。這是由於每部伺服器上的 RAM 量、使用者數目以及資料庫數目都不盡相同。有了實際 IOPS 數目後,一定要將 20% 的 I/O 額外負荷係數套用到您的計算中,以增加一些保留空間。您不會希望使用者因為活動量高於正常情況而有不好的經驗。
桌面搜尋引擎和 Outlook 線上模式用戶端
與 Exchange 快取模式 (離線) 用戶端不同的是,所有線上模式用戶端作業都是在資料庫中發生。由於儲存區架構和可延伸儲存引擎 (ESE) 的變動,Outlook 線上模式用戶端現在會產生與 OutlookExchange 快取模式用戶端相同的 I/O 設定檔。
在信箱搜尋功能方面,使用者有兩個選項:
他們可以使用信箱伺服器上內建的內容索引來進行搜尋。
他們可以安裝桌面搜尋引擎用戶端,並在信箱資料的用戶端產生本機索引,然後執行本機搜尋。
使用桌面搜尋引擎用戶端與 Outlook 線上模式的使用者可能需要多進行一些資料庫的讀取 I/O 作業。目前唯一已知不需要多進行讀取 I/O 的桌面搜尋引擎為 Windows 桌面搜尋 4.0。Windows 桌面搜尋 4.0 使用的同步處理通訊協定,與 OutlookExchange 快取模式在索引信箱內容時使用的同步處理通訊協定方法類似。
因此,如果您打算部署 Outlook 線上模式用戶端,以及 Windows 桌面搜尋 4.0 之外的桌面搜尋引擎,請依據下列指導方針進行:
與 Exchange 快取模式用戶端相較之下,256 MB 線上模式用戶端會以 1.5 的係數增加資料庫讀取作業。256 MB 以下的用戶端,其影響則微乎其微。
當信箱大小加倍時,則資料庫讀取 IOPS 也會加倍 (假設相等的郵件通訊群組在主要的資料夾之間保持相同)。
由於此資料的原因,在此提出兩個建議:
視需要部署 Exchange 快取模式用戶端。如需詳細資訊,請參閱本主題稍後的<每個資料夾的項目個數>一節。否則,請以 Windows 桌面搜尋 4.0 取代桌面搜尋引擎。
當您在設計資料庫儲存體時,請考慮 I/O 需求。
至於其他 IOPS 因素,例如協力廠商用戶端,請參閱最佳化 Exchange Server 2003 儲存。
回到頁首
記錄磁碟區 I/O
記錄磁碟區 I/O 是與資料庫記錄讀/寫活動及 NTFS 中繼資料讀/寫活動相關的 I/O。記錄磁碟區 I/O 本身為循序式,當使用電池供電寫入快取陣列控制器時,記錄磁碟區 I/O 的 I/O 額外負荷最小,而且不會是 Exchange 儲存大小的重要因素。
由於 Exchange 2010 的資料庫讀取次數減少,加上記錄檔變小以及可擁有更多資料庫,因此記錄對資料庫的寫入為 40% 用於獨立資料庫,而 50% 用於參與信箱恢復功能的資料庫。例如,如果參與信箱恢復功能的資料庫耗用 12 次寫入 I/O,則記錄 LUN 會耗用大約 6 次寫入 I/O。
在主控參與信箱恢復功能之資料庫的信箱伺服器上,會出現與使用連續複寫相關的額外負荷。這需要讀取已關閉的交易記錄並傳送至目標資料庫複本。這會在讀取信箱伺服器上主控的每個主動資料庫複本時增加 10% 的額外負荷。例如,如果信箱伺服器主控了 10 個主動資料庫複本,每一個交易記錄資料流會產生 6 次寫入 I/O,則您可以預期這 10 個主動資料庫複本每個會增加 0.6 次讀取 I/O (也就是總共增加 6 次讀取 I/O)。
在測量或預測交易記錄 I/O 之後,請套用 20% 的 I/O 額外負荷因素,以確保當遇到比正常期間更忙碌的時段時,能有足夠的空間。
每個資料夾的項目個數
減少伺服器 I/O 的一種方法,是在 Exchange 快取模式下使用 Outlook。初始信箱同步處理是需要使用大量磁碟的作業,但日後隨著信箱大小的增加,磁碟子系統的負擔會從 Exchange 伺服器轉移到 Outlook 用戶端。使用 Exchange 快取模式時,如果使用者的收件匣內有大量郵件,或使用者搜尋信箱,對伺服器將沒有什麼影響。這種方法也表示具有大型信箱的 Exchange 快取模式使用者可能比具有小型信箱的使用者需要更快速的電腦 (視個別使用者可接受的效能閾值而定)。
當您部署在 Exchange 快取模式下執行 Outlook 2007 的用戶端電腦時,請考慮下列信箱 mailbox/.ost 檔案大小的指導方針:
最多 5 GB 此種大小在大部分硬體上應可提供良好使用者體驗。
介於 5 GB 和 10 GB 此種大小通常依硬體不同,而有不同效能。因此,如果您的硬碟速度很快而且有很多 RAM,將會有比較好的體驗。然而,速度較慢的硬碟 (如膝上型電腦上常用的磁碟機或是早期的固態硬碟 (SSD)) 在回應時偶而會遇到應用程式暫停情形。
超過 10 GB 此種大小在大部分硬體上會開始出現短暫的暫停。
非常大 (如 25 GB 或更大) 此種大小會提高短暫的暫停頻率,尤其是當您在下載新電子郵件時。此外,您可以使用傳送/接收群組來手動同步處理郵件。
此準則是以 Outlook 2007 Service Pack 1 或更新版本的累積更新安裝為基礎,如 Microsoft 知識庫文章 961752 Outlook 2007 Hotfix 套件 (Outlook.msp) 的描述:2009 年 2 月 24 日。
如果您的 Outlook 2007 在快取 Exchange 模式部署時發生效能相關問題,請參閱知識庫文章 940226 如何疑難排解 Outlook 2007 的效能問題。如需改良的相關資訊,請參閱知識庫文章 968009 Outlook 2007 在 2009 年 2 月累積更新中的改良功能。
當使用者擁有超過 Exchange 所能儲存的索引數目時,情況會變得很棘手。這在 Exchange 2010 中為 11 個索引。當使用者選擇排序新的方式時,便會因此建立第 12 個索引,這會造成額外的磁碟 I/O 活動。由於並未儲存該索引,每次執行此排序時便會產生此額外的磁碟活動成本。由於這種情況下可能會產生高 I/O 活動,因此我們強烈建議您不要在 [收件匣] 和 [寄件備份] 資料夾這類核心資料夾中儲存超過 100,000 個項目,也不要在 [行事曆] 和 [連絡人] 這類資料夾中儲存超過 10,000 個項目。建立更多頂層資料夾,或在 [收件匣] 和 [寄件備份] 資料夾之下建立子資料夾,都能大幅減少此索引建立動作所帶來的成本。並且,只要任何資料夾中的項目數不超過 100,000,此道理也同樣成立。
回到頁首
內容索引 I/O
在 Exchange 2010 中,收到郵件時就會建立其索引,並產生少量的資料庫磁碟 I/O 額外負荷 (因為當擷取郵件進行索引時,郵件仍位於資料庫快取中)。但是,寫入 I/O 是與更新搜尋類別目錄儲存區相關聯。因為 Exchange 2010 中整體的資料庫 I/O 減少,搜尋類別目錄 I/O 的百分比現在是資料庫檔案 I/O (取決於設定檔) 的 10% 到 15%。搜尋類別目錄讀取 I/O 會在用戶端發出搜尋查詢時發生,這種情況與 Exchange 2010 儲存設計的關係並不大。
回到頁首
非交易式 I/O
交易式 I/O 的發生是為了回應直接使用者動作,且通常具有最高優先順序,因此是儲存設計的焦點。非交易式 I/O 可能會在背景且其調整為最小效能影響時發生,或在定義的維護期間發生。
下列各節將討論某些在背景發生的非交易式 I/O。儘管非交易式 I/O 不是儲存設計的重點,但它會影響您的儲存設計。如需詳細資訊,請參閱新的 Exchange 核心儲存區功能。
背景資料庫維護 (總和檢查)
背景資料庫維護 I/O 是循序式資料庫檔案 I/O,與主動和被動資料庫複本的總和檢查有關。背景資料庫維護具有下列特性:
在使用中資料庫上,可以設定為 24 × 7 執行或在線上維護期間執行。針對被動資料庫複本的背景資料庫維護 (總和檢查碼) 會 24 × 7 執行。如需詳細資訊,請參閱新的 Exchange 核心儲存區功能主題中的<線上資料庫掃描>。
每個作用中掃描資料庫 (主動和被動複本) 每秒大約讀取 5 MB。I/O 是 100% 循序式的,因此儲存子系統可以有效處理 I/O。
如果總和檢查碼在 24 小時以內通過完成,則停止掃描資料庫。
如果未在三天內完成掃描 (無法進行設定),則會發出警告事件。
通訊記錄管理
「通訊記錄管理 (MRM)」是 Exchange 2010 中的一項記錄管理技術,可協助組織降低與電子郵件相關的法律風險。MRM 可讓您更容易保留遵循公司原則、政府法令或法律規定所需的郵件,並移除不法或不具商業價值的內容。
這些動作可透過使用保留原則或受管理的資料夾來完成。受管理的資料夾助理員是一種 Microsoft Exchange 信箱助理員,其套用保留原則或受管理的資料夾信箱原則中所設定的郵件保留設定。助理員所需的磁碟 I/O 端視處理的信箱項目數而定。建議不要讓助理員與備份或線上維護作業同時執行。如需詳細資訊,請參閱排程受管理的資料夾助理員。
線上維護
您可以使用 Exchange 管理工具來設定資料庫的維護排程,或允許 24 × 7 資料庫維護。線上磁碟重組在 Exchange 2010 中已經無法如其在舊版 Exchange 中的方式運作。線上磁碟重組會在資料庫讀取及寫入時持續進行。如需詳細資訊,請參閱新的 Exchange 核心儲存區功能中的<線上資料庫掃描>。
回到頁首
© 2010 Microsoft Corporation. 著作權所有,並保留一切權利。