仁寶電子有限公司資訊部內部文件
Microsoft
Exchange Server 2003 後端郵箱服務器性能與容量分析
By: Yang. Xeon (CET) 楊向群 發布日期:2005 年 12 月 27 日 Version: 1.0 (2005-12-27) 2.0 (2006-07-14) 1
仁寶電子有限公司資訊部內部文件
前言概述: 現在越來越多的公司將郵件系統視爲關鍵任務系統。爲此,各公司對電子郵件系統的可靠 性和可用性都有著嚴格的要求。員工移動性的日益增加和公司地理位置的日益分散對郵件系統 功能和性能也提出了更高的要求。我們 Compal 集團使用的是 Microsoft® Exchange Server 2003 作爲郵件服務器平臺。此版本的 Exchange 在可靠性、易管理性和安全性等方面提供了許多新的 功能和改進(詳見微軟的技術文檔《Exchange Server 2003 新增功能》)。我們 Compal 的 Exchange 體系結構采 用的是前端和後端服務器體系結構。
此結構的優點如下: z 單一命名空間 z 前端服務器能够在服務器之間平衡對任務的處理 z 安全性 (詳見微軟的技術文檔《Exchange Server 2003 傳輸和路由指南》)
前端服務器是接收來自客戶端的請求幷將其中繼到相應的後端服務器的服務器。後端服務 器至少駐留一個數據庫的服務器。前端服務器中繼來自客戶端的請求時將連接此服務器。在 Compal 的 Exchange 組織中,CET 站點的 Exchange 服務器主要分爲兩種: z 同其他站點通訊的橋頭服務器 z 後端郵箱服務器。 Exchange 主要支持的協議和客戶端有: z z z z z
郵箱服務器(使用 MAPI) Outlook Web Access 郵局協議版本 3 (POP3) Internet 郵件訪問協議第 4 版 (IMAP4) 簡單郵件傳輸協議 (SMTP)
2
仁寶電子有限公司資訊部內部文件
影響 Exchange 服務器性能的因素 在 Compal 的 Exchange 組織中,CET 站點的大部分客戶端使用的是基于 MAPI 的 Outlook 客戶端。由于本文的目的是提高郵箱服務器的性能,故在這裏本文僅討論和分析供基于 MAPI(Outlook)訪問的 Exchange 後端郵箱服務器。 服務器的性能通常由性能最低的組件 – 系統的瓶頸所决定。提高性能的關鍵在于能够確定 瓶頸、確定它們的原因幷應用適當的糾正措施。部署 Exchange 所選的硬件對性能的影響最大。 影響 Exchange 2003 性能的硬件組件主要包括處理器、內存、網絡和存儲。
處理器性能 服務器上處理器的使用應保持在高峰工作時段負載爲 60% 左右。此百分比級別考慮到了 極端負載的情况。如果處理器的使用持續超過 75%,我們就認爲處理器性能是一個瓶頸。服務 器中 CPU 影響性能的因素有多種。這些因素包括: z 處理器時鐘速度,以兆赫茲 (MHz) 或千兆赫茲 (GHz) 來度量 z 處理器數量 z 處理器類型 Exchange 可充分使用多處理器,目前在 CET 站點的 Exchange 後端郵箱服務器中已經基本 配置了支持超綫程技術的雙 Intel Xeon 處理器,我們統計了具有典型後端郵箱服務器特性的 CETEXG05 25 小時的"\\CETEXG05\MSExchangeIS\RPC Operations/sec" 此性能計數,如下圖:
3
仁寶電子有限公司資訊部內部文件
在上圖中,每一個縱列代表 1 小時,自 0:00 開始由此可以得出每天公司 Exchange Server 系統負荷高峰時段爲 AM 7:30 ~ AM 9:30。我們統計了在此高峰時段中,具有典型後端郵箱服務 器特性的 CETEXG03 (TW Manager) 以及 CETEXG05 (Local Users) 的性能計數 "Processor(_Total)\% Processor Time" 如下圖所示:
4
仁寶電子有限公司資訊部內部文件
5
仁寶電子有限公司資訊部內部文件
由上表可知,最大峰值也未超過 30%,目前服務器的 CPU 負荷不重,幷有一定的可伸縮性。
內存性能 微軟的技術文檔中指出(《Exchange Server 2003
性能和可伸縮性指南》-14 頁):
Exchange 服務通常消耗不超過 3 GB 的物理內存。在添加了 操作系統所必需的軟件以及防病毒、備份和管理軟件之後,計算機 所使用的全部物理內存會達到 4 GB。在 Exchange 專用的服務器 上,不需要超過 4 GB 的內存。 我們監控了新購置的擁有 4GB 內存的 CETEXG08 25 小時的"Memory\Available MBytes"性 能計數,如下表所示:
6
仁寶電子有限公司資訊部內部文件
由上表可知,CETEXG08 可用內存的始終保持在 1.9GB 以上,同微軟的說法一致。
網絡性能 微軟的技術文檔中指出(《Exchange Server 2003
性能和可伸縮性指南》-14 頁):
就郵箱服務器而言,通常一個每秒 100 兆字節 (Mbps) 的全雙工網絡連接已足够。但是,如果您計劃通過網絡進行 備份和還原,請考慮使用千兆比特的以太網(1000 Mbps 或 每秒 1 千兆比特 [Gbps])。 在微軟的技術文檔的標準測試中指出(《Exchange Server 2003
性能和可伸縮性指南》-25 頁):
Exchange 2003 和 Outlook 2003 配合使用時測試的網 絡使用量爲 1,765 Kbps 7
仁寶電子有限公司資訊部內部文件 目前所有 CET 站點的 Exchange 服務器均使用 100 兆字節 (Mbps) 的全雙工網絡連接,千 兆比特的以太網(1000 Mbps 或每秒 1 千兆比特 [Gbps])也在規劃中。我們監控了具有典型 後端郵箱服務器特性的 CETEXG05 25 小時的 "Bytes Total/sec" 性能計數,如下表所示:
由上表可知,目前服務器的網絡負荷不重,平均保持在 520447/1024/1024=0.49 MByte/Sec, 最高時也沒有超過 3 MByte/Sec,而一個 100 兆字節 (Mbps) 的全雙工網絡連接的額定值達到 100/8=12.5 MByte/Sec。
存儲性能 微軟的技術文檔中指出(《Exchange Server 2003
高可用性指南》-70 頁):
Exchange 2003 是一個對磁盤空間需求量很大的應用程序。 若要正常工作,需要有一個快速、可靠的磁盤子系統。
8
仁寶電子有限公司資訊部內部文件 微軟的技術文檔中指出(《優化
Exchange Server2003 的存儲》-5 頁) :
磁盤子系統瓶頸所産生的性能問題超過了服務器端 CPU 或 RAM 不足所産生的性能問題。 微軟的技術文檔中指出(《優化
Exchange Server2003 的存儲》-20 頁) :
Exchange 2003 性能的關鍵是優化存儲系統。
微軟的技術指南中指出(《Exchange Server 2003 性能和可伸縮性指南》-14 頁):
隨著存儲需求的增長以及企業合幷服務器,您必須在設計存 儲系統時對成本、可用性和性能進行權衡。在實現存儲之前 請花些時間來好好對其進行設計;不像處理器和內存那樣可 在網絡連接時對其進行擴展,對存儲的重新設計要在網絡停 機後才能實現。因此,調整 Exchange 存儲成爲最關鍵的步 驟。 …… 隨著數據能力的提高,添加更大容量的硬盤驅動器幷不能解 决與用戶負載增加相關的性能問題。必須考慮每一硬盤驅動 器對不同用戶負載做出足够響應的能力。 Exchange 後端存儲解决方案必須由一個冗餘存儲子系統來支持。一般包含以下技術: z z z
直接訪問存儲設備(DASD):提供了不同性能及容錯能力的級別的磁盤陣列實現。 SAN 解决方案:通過高速網絡提供集中式數據存儲的存儲。 網絡附加存儲解决方案:通過現有的網絡連接直接與服務器連接的存儲。
其中,SAN 和網絡附加存儲解决方案通常與 RAID 技術結合使用。可以在存儲設備上配 置磁盤來使用適合于您的性能和容錯需求的 RAID 級別。Microsoft 建議使用直接訪問存儲設 備 (DASD) 或 SAN 附加磁盤存儲解决方案,因爲這種配置可優化 Exchange 2003 的性能和可 靠性。除非滿足特定的 Windows 要求,否則 Microsoft 不支持網絡附加存儲解决方案的使用。 詳見《Exchange Server 2003 高可用性指南》-51 頁
目前在 Compal 的 Exchange 組織中,CET 站點的 Exchange 服務器,由于需要均衡磁盤容 量、性能、可靠性多方面因素,均采用直接訪問存儲設備(DASD)+RAID5(3 顆 10000RPM SCSI 硬盤)作爲存儲解决方案。RAID-5 是條帶化的磁盤陣列,包括奇偶校驗。它可以通過某種機制 來保持陣列上所存儲數據的完整性,這樣,如果陣列中的一個磁盤發生故障,就可以從其餘磁 盤重新構建數據。 9
仁寶電子有限公司資訊部內部文件
圖 RAID-5 磁盤陣列 不過,爲了實現磁盤之間的奇偶校驗,要犧牲 1/n 的磁盤空間(其中,n 等于陣列中的驅 動器數) 。例如,如果有六個 9-GB 的磁盤,就會有 45 GB 的可使用存儲空間。爲了進行奇偶 校驗,數據的一次寫入被轉換爲 RAID-5 陣列中的兩次寫入和兩次讀取。因此,整體性能將有 所下降。RAID-5 解决方案的優點是,它非常可靠,幷且可以比 RAID-1 和 RAID-0+1 更有效 地利用磁盤空間。 IOPS:每秒可以執行的 I/O 操作數 因爲,每次從 Exchange 讀取數據或將數據寫入 Exchange 時,都將生成磁盤 I/O。所以根 據存儲解决方案所支持的 IOPS 和實際測量的每郵箱的 IOPS,就可以得到存儲解决方案可以支 持的最大郵箱數。
存儲解决方案支持的最大郵箱數 = 存儲解决方案所支持的 IOPS ÷ 每郵箱的 IOPS
當前使用的 RAID5(3 顆 10000RPM SCSI 硬盤)所能提供的最 大郵箱數 詳見《Exchange Server 2003 性能和可伸縮性指南》-88 頁
每個物理硬盤預計大約每秒 100 IOPS(假定磁盤爲 10,000 rpm)。下表顯示 RAID0、 RAID1、RAID0+1 和 RAID5 配置估計的吞吐量。 Raid 配置
每個物理硬盤估計的 IOPS
Raid0
100
Raid1
80
Raid0+1
80
Raid5
57
另外: 1、在 RAID0 配置中,每次讀取和每次寫入會産生一個 I/O 操作。在 RAID1 和 RAID0+1 配置中,每次讀取生成一個 I/O 操作,但是每次寫入需要兩個 I/O 操作(寫入每個鏡像的 磁盤) 。在 RAID5 中,每次寫入需要四個 I/O 操作:用于計算奇偶校驗的兩次讀取以及兩 次寫入(一次寫入數據,一次寫入奇偶校驗)。因此,對于 RAID1、RAID0+1 和 RAID5, 初始的讀取次數和寫入次數已經增大。按照初始的讀取次數和寫入次數,實際吞吐量减少了。 2、對于 Exchange 數據庫磁盤,磁盤讀取次數與磁盤寫入次數的合理比率爲 3:1, 10
仁寶電子有限公司資訊部內部文件 (詳見《Exchange Server 2003 性能和可伸縮性指南》-88 頁)
下表顯示對于每個 RAID 配置,300 個讀取 I/O 操作和 100 個寫入 I/O 操作所需的 I/O 操作數。 RAID 配置
讀取次數和寫入次數
總 I/O 操作數
RAID0
1 次讀取 + 1 次寫入
400
RAID1
1 次讀取 +(2 × 寫入)
500
RAID0+1
1 次讀取 +(2 × 寫入)
500
RAID5
1 次讀取 +(4 × 寫入)
700
在此示例中,我們會發現在 RAID1 配置中,400 個事務(300 次讀取,100 次寫入) 産生 500 個 I/O 操作。實際吞吐量會减少到 400/500(即 0.8) 。同樣在 RAID5 的配置中, 400 個事務(300 次讀取,100 次寫入)産生 700 個 I/O 操作,因此更準確的估計 RAID5 每個物理硬盤的 IOPS 應爲 57×(400÷700)=32.5 當前使用的 RAID5(3 顆 10000 RPM SCSI 硬盤)所能提供的理論 IOPS = 32.5×3=97.5
使用實際環境數據計算 每郵箱 IOPS 計算方法: 1、確定兩台供收集基準性能數據的 Exchange 郵箱服務器: CETEXG03 (TW Manager) CETEXG05 (Local Users) 2、以 15 秒爲間隔記錄在高峰時段(AM 7:30 ~ AM 9:30)以下 Perfmon 對象: MSExchangeIS → RPC Operations/sec Logical Disk → Disk Transfers/sec → 實例 = 容納 Exchange 存儲數據庫的驅動器號。 Processor → %Processor → 實例 = Total 3、將上面的數據計算出平均值後,使用《優化 Exchange Server2003 的存儲》中附帶的 Xls 電子表格計算出每郵箱的 IOPS。 使用 Perfmon 測量得到數據如下: CETEXG03
LogicalDisk(D:)\Disk Transfers/sec
Average
27.86937563
CETEXG05
LogicalDisk(D:)\Disk Transfers/sec
Average
99.28521384
MSExchangeIS\RPC perations/sec Processor(_Total)\% processor Time 25.92171861
2.245745929
MSExchangeIS\RPC perations/sec Processor(_Total)\% processor Time 105.2505438
6.974717925
11
仁寶電子有限公司資訊部內部文件 通過計算得出如下數據: 服務器
郵箱數
RPC Ops/s
IOPS/秒
CETEXG03
125
25.92171861
27.8693756
CETEXG05
875
105.2505438
99.2852138
DB IOPS/ 兆周期數/ 郵箱 郵箱
0.22 0.11
度量的 CPU 使用率 (%)
CPU 數
處理器 速度
0.88
2.245746%
2
2458
0.39
6.974718%
2
2458
由: 存儲解决方案支持的最大郵箱數 = 存儲解决方案所支持的 IOPS ÷ 每郵箱的 IOPS 得到: 當前使用的 RAID5(3 顆 10000RPM SCSI 硬盤)作爲存儲解决方案,在僅考慮 I/O 性能的前提下, 一台服務器所能提供的最大 TW Manager 郵箱數 = 97.5 / 0.22=443 一台服務器所能提供的最大 Local Users 郵箱數 = 97.5 / 0.11=886
如果使用 SAN 存儲網絡所能提供的最大郵箱數 在 Exchange 2003 組織中實現 SAN 解决方案的優點: 詳見《Exchange Server 2003 高可用性指南》-56 頁
z
Exchange 2003 需要很高的 I/O 帶寬,而只有 SAN 附加(有時也稱爲通道附加)存 儲陣列才支持這樣的帶寬。相反,依賴于通過網絡堆棧訪問 Exchange 2003 數據庫文 件的網絡存儲解决方案則可能會增加數據損壞和性能下降的風險。
z
Exchange 2003 還需要將郵箱和公用文件夾存儲放在 Exchange 服務器的本地驅動器 上。通過本地光纖通道連接來連接到 Exchange 服務器的 SAN 解决方案正好可以滿 足這種需求。而依靠網絡重定向器來處理磁盤資源的其他存儲解决方案則不能滿足此 需求。
z
SAN 具有高度可伸縮性,這是 Exchange 的一個重要考慮因素。隨著郵件數據的增 加,郵箱限制不斷受到挑戰,因此,必須增加存儲容量和 I/O 速率。SAN 允許您隨 組織的擴大輕鬆地添加磁盤。 建議選擇一種集成了存儲虛擬化的 SAN 解决方案。存 儲虛擬化讓您可以輕鬆地添加磁盤,幷迅速地將添加的容量重新分配給 Exchange 服 務器。有了存儲虛擬化,就可以根據容量要求和預算來購買額外的存儲磁盤。
z
SAN 的可伸縮性還使您能够通過添加服務器來擴大 Exchange 組織。利用 SAN,可 以將多個 Exchange 服務器連接到多個存儲陣列,然後在這些存儲陣列中劃分存儲。
z
通過使用鏡像和卷影複製備份(使用卷影複製服務),SAN 使備份、恢復和可用性都 得到了加强。 12
仁寶電子有限公司資訊部內部文件 z
通過包括了從一個站點中的 SAN 將數據複製到另一站點中的 SAN 的複製策略,可 以在站點出現故障時保護組織中的數據。另外,如果在實施站點複製策略的同時實施 了在地理位置上分散的群集,您的郵件系統將同樣可以運行。
由于使用了 SAN 方式的集中存儲,那麽 Server 的磁盤性能就完全取决于此集中存儲設備。 因爲此時所有的 Exchange Server 的數據庫、事務日志等存儲組件完全都放置在集中存儲的設 備上,此時集中存儲設備的性能就成爲了關鍵,設備的性能决定可以將多少 Exchange Server 的郵箱存儲在上面。Network Applicance 公司是業界專業的存儲産品廠商,其給我們提供了下 面的一組測量數據(機密)
這個圖表顯示的是 FAS3020 在執行 Small Random(小隨機)I/O 操作的時候,Read & Write 相 關的最大 IOPS 值。而又根據 Exchange Server 2003 的一些特性: 1、Exchange 數據庫磁盤,磁盤讀取次數與磁盤寫入次數的合理比率爲 3:1 (《Exchange Server 2003 性能和可伸縮性指南》-88 頁)
2、在 Exchange 中,事務日志文件是按順序訪問的,而數據庫則是隨機訪問的。 (《Exchange Server 2003 高可用性指南》-61 頁)
3、Exchange 2003 通過 4 KB 倍數的 I/O 操作寫入數據 (《Exchange Server 2003 性能和可伸縮性指南》-56 頁)
我們可以計算出,FAS3020 對于 Exchange Server 2003 的數據庫文件大約 25%Write+75%Read 的操作的時候,可以提供的最大 IOPS = (15400×0.75) + (11600×0.25)= 14450 13
仁寶電子有限公司資訊部內部文件 由前面通過計算得到的“IOPS/郵箱"的值: 服務器
郵箱數
RPC Ops/s
IOPS/秒
CETEXG03
125
25.92171861
27.8693756
CETEXG05
875
105.2505438
99.2852138
DB IOPS/ 兆周期數/ 郵箱 郵箱
0.22 0.11
0.88 0.39
度量的 CPU 使用率 (%)
CPU 數
處理器 速度
2.245746%
2
2458
6.974718%
2
2458
由: 存儲解决方案支持的最大郵箱數 = 存儲解决方案所支持的 IOPS ÷ 每郵箱的 IOPS 得到: 當如果使用 Netapp 公司提供了一個基于 iSCSI 的 SAN 網絡作爲存儲解决方案時,在僅考慮 I/O 性能的前提下, FAS3020 所能提供的最大 TW Manager 郵箱數 = 14450 / 0.22=65681 FAS3020 所能提供的最大 Local Users 郵箱數 =14450/ 0.11 = 131363
結論 1、由上面的分析,可知使用基于 SAN 網絡的 Exchange 存儲方案比目前使用的傳統的 DASD+ RAID5 的存儲方案,在磁盤 I/O 性能上提升了 148 倍。 2、在目前傳統的 DASD+RAID5 的存儲方案中,磁盤的性能已經成爲最重要的瓶頸。 由于如果使用 SAN 架構的存儲方案,基本上磁盤的性能就不會是瓶頸了。此時 Server 即使 使用當前僅配置爲雙 Intel Xeon 3000MHz CPU 的主流服務器時,考慮到服務器 CPU 負荷應保持 在 60%以下,且要處理高峰數據量,應在處理器和存儲設計上增加 20% 的緩衝,僅考慮 CPU 性能的前提下: 一台服務器所能提供的最大 TW Manager 郵箱數=(2×3000×0.6) ÷ 0.88×0.8= 3272 一台服務器所能提供的最大 Local Users 郵箱數=(2×3000×0.6) ÷ 0.39×0.8= 7384 而目前的存儲方案僅能支持 最大 TW Manager 郵箱數 = 97.5 / 0.22=443 最大 Local Users 郵箱數 = 97.5 / 0.11=886 3、當前 Compal 的 Exchange 組織中 CET 站點的 Exchange 前端服務器爲 1.5 台,後端郵箱服務 器爲 5.5 台,共 7 台,承載著大約 2800 個平均額定容量爲 130MB 的信箱,且隨著公司規模 14
仁寶電子有限公司資訊部內部文件 的擴大,如果存儲系統性能不能得到極大的提升的話,服務器將繼續增加。 CETEXG01:傳遞外發 mail、存儲公用資料夾、同其他的 SITE 的複製。 CETEXG02:傳遞外發 mail、存儲公用資料夾,存儲 CET TW & CET VP 的郵箱。 CETEXG03:存儲 CET TW & CET VP 的郵箱。 CETEXG05:存儲 CET User 的郵箱。 CETEXG06:存儲 CET User 的郵箱。 CETEXG07:存儲 CET User 的郵箱、存儲被禁用 Mail 的帳號的郵箱、存儲 TPE in CET 的 郵箱(包括 TPE VP & TPE User)。 CETEXG08:存儲 CET User 的郵箱。 4、結合備份/還原時間、單點故障影響率、整合服務器資源、公司規模的擴大等多方面因素, 如果可以使用基于 SAN 架構的 Exchange 存儲系統,在未來可以將前端服務器調整爲 2 台, 後端服務器爲 3 台,共 5 台。 CETEXG01:傳遞外發 mail、存儲公用資料夾、同其他的 SITE 的複製。 CETEXG02:傳遞外發 mail、存儲公用資料夾。 CETEXG03:存儲 User & TW & VP 的郵箱。 CETEXG05:存儲 User & TW & VP 的郵箱。 CETEXG06:存儲被禁用 Mail 的帳號的郵箱、存儲 TPE in CET 的郵箱、機動。 注:Microsoft 公司內部 Exchange 2003 Server 僅 23 台,却能够爲 85000 個平均額定容量爲 200MB 信箱提供服務,除去其使用 其他高性能的各種服務器硬件(如 8 路的 CPU 等),更爲重要的是一個高效能的 Exchange 存儲系統。
附錄: 本文中引用的所有 Microsoft 文檔可自下面的鏈接獲取: 1、Microsoft Exchange Server 2003 中的新增功能 http://www.microsoft.com/china/technet/prodtechnol/exchange/2003/library/newex03.mspx 2、Exchange Server 2003 傳輸和路由指南 http://www.microsoft.com/china/technet/prodtechnol/exchange/2003/library/extransrout.mspx 3、Exchange Server 2003 高可用性指南 http://www.microsoft.com/china/technet/prodtechnol/exchange/2003/library/highavailgde.mspx 4、優化 Exchange Server 2003 的存儲 http://www.microsoft.com/china/technet/prodtechnol/exchange/2003/library/optimizestorage.mspx 5、Exchange Server 2003 性能和可伸縮性指南 http://www.microsoft.com/china/technet/prodtechnol/exchange/2003/library/perfscalguide.mspx 15