Windows Server 2008 R2的用戶體驗
Windows操作系統(tǒng)的升級換代總是一件盛事,特別是10月22日的Windows 7/Server 2008 R2。分析了Windows 7/Server 2008 R2的內(nèi)核里關(guān)于性能、可擴展性以及節(jié)能方面的改進,現(xiàn)在我們將目光投向Windows Server 2008 R2的服務(wù)性能。在約18個月前,筆者也測試過了Windows Server 2008 R2的上一代Windows Server 2008,現(xiàn)在我們可以看看新一代的操作系統(tǒng)具有了什么樣的變化。

Windows Server 2008 R2,Windows NT 6.1,2009年10月22日 

Windows Server 2008,Windows NT 6.0,2008年2月17日(美國)/3月13日(中國) 

Windows Server 2003,Windows NT 5.2,2003年3月28日
NetBench v7.03
NetBench是針對文件服務(wù)器的性能測試軟件,影響NetBench性能的主要是服務(wù)器的磁盤子系統(tǒng),服務(wù)器磁盤控制器、條帶大小、讀寫緩存、硬盤類型、組建磁盤陣列模式、內(nèi)存容量、網(wǎng)絡(luò)拓樸結(jié)構(gòu)等都會對測試結(jié)果有明顯的影響。
我們在被測服務(wù)器上設(shè)立了文件服務(wù)器,在以往,我們設(shè)置NetBench通過網(wǎng)絡(luò)實驗室中60個客戶端來模擬網(wǎng)絡(luò)中的PC向文件服務(wù)器所發(fā)出的文件傳輸請求,文件服務(wù)器則將存儲在磁盤上的文件數(shù)據(jù)發(fā)送給相應(yīng)的客戶端。在09年升級了網(wǎng)絡(luò)實驗室和網(wǎng)絡(luò)客戶端之后,我們將每臺客戶端使用的壓力引擎翻倍,以充分利用客戶端的硬件資源,增大輸出壓力。
在測試過程中,客戶端會以每四臺一組的步進依次增加并且向服務(wù)器發(fā)送文件傳輸請求,測試結(jié)束后控制臺收集數(shù)據(jù)并繪制出服務(wù)器的數(shù)據(jù)傳輸變化曲線。

測試平臺
我們采用了評測中心的一臺DELL PE 2900 III服務(wù)器,它配置了雙路Intel 45nm Xeon E5430處理器,頻率為2.66GHz,并能支持SSE4.1指令集。服務(wù)器還使用了Intel 5000X芯片組,提供24MB的Snoop Filter緩存,這可以提升高負荷時的內(nèi)存/處理器性能。為了避免磁盤子系統(tǒng)形成瓶頸,我們使用了8塊15000RPM的Cheetah 15K.5通過一塊PCIe x8接口的LSI MegaRAID SAS 8408E來組建了一個RAID 0陣列。它可以提供足夠的帶寬。
***,網(wǎng)絡(luò)子系統(tǒng)使用的是DELL PE 2900 III板載的兩塊Broadcom BCM5708C千兆網(wǎng)卡,并使用了Broadcom的***驅(qū)動12.26.02并使用Broadcom BACS 3.0組建了一個網(wǎng)卡Team。BCM5708C可謂是Broadcom一個里程碑式的千兆網(wǎng)卡產(chǎn)品,支持達8個隊列的RSS接收方縮放隊列,可以將網(wǎng)絡(luò)負載分配到8個處理器核心上并行處理,充分利用多核心處理器并提升網(wǎng)絡(luò)吞吐量。
NetBench是針對文件服務(wù)器的性能測試軟件,影響NetBench性能的主要是服務(wù)器的磁盤子系統(tǒng),服務(wù)器磁盤控制器、條帶大小、讀寫緩存、硬盤類型、組建磁盤陣列模式、內(nèi)存容量、網(wǎng)絡(luò)拓樸結(jié)構(gòu)等都會對測試結(jié)果有明顯的影響。我們在被測服務(wù)器上設(shè)立了文件服務(wù)器,NetBench通過網(wǎng)絡(luò)實驗室中60個客戶端來模擬網(wǎng)絡(luò)中的PC向文件服務(wù)器所發(fā)出的文件傳輸請求,文件服務(wù)器則將存儲在磁盤上的文件數(shù)據(jù)發(fā)送給相應(yīng)的客戶端。在測試過程中,客戶端會以每四臺一組的步進依次增加并且向服務(wù)器發(fā)送文件傳輸請求,測試結(jié)束后控制臺收集數(shù)據(jù)并繪制出服務(wù)器的數(shù)據(jù)傳輸變化曲線。
NetBench 7.03 Ent_dm.tst測試腳本模擬的是企業(yè)級文件服務(wù)器應(yīng)用,它不但要求被測服務(wù)器的磁盤子系統(tǒng)可以提供足夠的吞吐量,還需要其具有較高的IO處理能力,并且需要較為平衡的讀取能力和寫入能力。   

三代操作系統(tǒng)對比:NebBench測試性能
可見Windows Server 2008和Windows Server 2008 R2的表現(xiàn)比較接近,而Windows Server 2003則明顯要低不少。Windows Server 2008 R2的文件服務(wù)器吞吐量略微超過了2500Mbps。而Windows Server 2008是2250Mbps左右。Windows Server 2003 R2則只有1500Mbps左右。
之所以說具有這樣的表現(xiàn)有多種原因,但最主要的是兩個方面:系統(tǒng)內(nèi)核和網(wǎng)絡(luò)子系統(tǒng),Windows Server 2003的中斷處理只能在***個物理CPU核心上進行,這個核心很快就成為了具有大量IO(因而具有大量中斷)的服務(wù)器中的瓶頸。而到了Windows Server 2008,中斷處理(ISR和DPC)都可以發(fā)生在多個CPU核心上。而Windows Server 2008 R2對DPC的處理又做了改進。
至于網(wǎng)絡(luò)子系統(tǒng)的改進,每一代Windows都會改進其NDIS(Network Driver Interface Specification,即網(wǎng)絡(luò)驅(qū)動接口規(guī)范),Windows Server 2003是5.2,2008是6.10,而2008 R2是6.20。相比NDIS 5.x/6.0,Windows Server 2008的NDIS 6.1對RSS(接收方擴展)和MSI-X(擴展消息告知中斷)的支持更好,并且支持數(shù)據(jù)包的頭和數(shù)據(jù)獨立處理。Windows Server 2008 R2的NDIS 6.20對RSS作了進一步的改進。不過,我們在2008/2008R2測試下使用的驅(qū)動程序都是基于NDIS 6.0架構(gòu),因此最終結(jié)果上來看,兩個操作系統(tǒng)的差別不算太大。

Broadcom為BCM5708C配的***驅(qū)動仍然是基于NDIS 6.0架構(gòu)
顯然,Server 2008相對于Server 2003,或者說Vista相比于XP,確實具有顯著的改進,文件服務(wù)器性能上也是如此。Vista/Server 2008搭建了一個全新的架構(gòu),包括內(nèi)核、圖形架構(gòu)和網(wǎng)絡(luò)架構(gòu)。Windows 7/Windos Server 2008 R2則是在其基礎(chǔ)上繼續(xù)進行了較小的改動。
 
Windows Server 2008 R2,Windows NT 6.1,2009年10月22日 
在測試中,我們使用的Broadcom BCM5708C網(wǎng)卡搭配的***驅(qū)動也只是基于NDIS 6.0架構(gòu),Windows Server 2008支持的NDIS 6.1和Server 2008 R2支持的NDIS 6.20都沒有派上用場。不過其它地方都有改進:

NETSH命令顯示TCP的各種加速特性的配置
雖然RSS(接收方縮放)、TCP Chimney Offload(煙囪卸載)、NetDMA、DCA等Windows Server 2003 SP1 with SNP也可以提供支持,但是Windows Server 2008以及2008 R2能做的更好??梢源_定,在文件服務(wù)器上,使用Windows Server 2008 R2是一個更正確的選擇。















 
 
 
 
 
 
 