Windows Server 2008 R2的用戶體驗(yàn)
Windows操作系統(tǒng)的升級(jí)換代總是一件盛事,特別是10月22日的Windows 7/Server 2008 R2。分析了Windows 7/Server 2008 R2的內(nèi)核里關(guān)于性能、可擴(kuò)展性以及節(jié)能方面的改進(jìn),現(xiàn)在我們將目光投向Windows Server 2008 R2的服務(wù)性能。在約18個(gè)月前,筆者也測(cè)試過(guò)了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日(美國(guó))/3月13日(中國(guó))
Windows Server 2003,Windows NT 5.2,2003年3月28日
NetBench v7.03
NetBench是針對(duì)文件服務(wù)器的性能測(cè)試軟件,影響NetBench性能的主要是服務(wù)器的磁盤子系統(tǒng),服務(wù)器磁盤控制器、條帶大小、讀寫緩存、硬盤類型、組建磁盤陣列模式、內(nèi)存容量、網(wǎng)絡(luò)拓樸結(jié)構(gòu)等都會(huì)對(duì)測(cè)試結(jié)果有明顯的影響。
我們?cè)诒粶y(cè)服務(wù)器上設(shè)立了文件服務(wù)器,在以往,我們?cè)O(shè)置NetBench通過(guò)網(wǎng)絡(luò)實(shí)驗(yàn)室中60個(gè)客戶端來(lái)模擬網(wǎng)絡(luò)中的PC向文件服務(wù)器所發(fā)出的文件傳輸請(qǐng)求,文件服務(wù)器則將存儲(chǔ)在磁盤上的文件數(shù)據(jù)發(fā)送給相應(yīng)的客戶端。在09年升級(jí)了網(wǎng)絡(luò)實(shí)驗(yàn)室和網(wǎng)絡(luò)客戶端之后,我們將每臺(tái)客戶端使用的壓力引擎翻倍,以充分利用客戶端的硬件資源,增大輸出壓力。
在測(cè)試過(guò)程中,客戶端會(huì)以每四臺(tái)一組的步進(jìn)依次增加并且向服務(wù)器發(fā)送文件傳輸請(qǐng)求,測(cè)試結(jié)束后控制臺(tái)收集數(shù)據(jù)并繪制出服務(wù)器的數(shù)據(jù)傳輸變化曲線。
測(cè)試平臺(tái)
我們采用了評(píng)測(cè)中心的一臺(tái)DELL PE 2900 III服務(wù)器,它配置了雙路Intel 45nm Xeon E5430處理器,頻率為2.66GHz,并能支持SSE4.1指令集。服務(wù)器還使用了Intel 5000X芯片組,提供24MB的Snoop Filter緩存,這可以提升高負(fù)荷時(shí)的內(nèi)存/處理器性能。為了避免磁盤子系統(tǒng)形成瓶頸,我們使用了8塊15000RPM的Cheetah 15K.5通過(guò)一塊PCIe x8接口的LSI MegaRAID SAS 8408E來(lái)組建了一個(gè)RAID 0陣列。它可以提供足夠的帶寬。
***,網(wǎng)絡(luò)子系統(tǒng)使用的是DELL PE 2900 III板載的兩塊Broadcom BCM5708C千兆網(wǎng)卡,并使用了Broadcom的***驅(qū)動(dòng)12.26.02并使用Broadcom BACS 3.0組建了一個(gè)網(wǎng)卡Team。BCM5708C可謂是Broadcom一個(gè)里程碑式的千兆網(wǎng)卡產(chǎn)品,支持達(dá)8個(gè)隊(duì)列的RSS接收方縮放隊(duì)列,可以將網(wǎng)絡(luò)負(fù)載分配到8個(gè)處理器核心上并行處理,充分利用多核心處理器并提升網(wǎng)絡(luò)吞吐量。
NetBench是針對(duì)文件服務(wù)器的性能測(cè)試軟件,影響NetBench性能的主要是服務(wù)器的磁盤子系統(tǒng),服務(wù)器磁盤控制器、條帶大小、讀寫緩存、硬盤類型、組建磁盤陣列模式、內(nèi)存容量、網(wǎng)絡(luò)拓樸結(jié)構(gòu)等都會(huì)對(duì)測(cè)試結(jié)果有明顯的影響。我們?cè)诒粶y(cè)服務(wù)器上設(shè)立了文件服務(wù)器,NetBench通過(guò)網(wǎng)絡(luò)實(shí)驗(yàn)室中60個(gè)客戶端來(lái)模擬網(wǎng)絡(luò)中的PC向文件服務(wù)器所發(fā)出的文件傳輸請(qǐng)求,文件服務(wù)器則將存儲(chǔ)在磁盤上的文件數(shù)據(jù)發(fā)送給相應(yīng)的客戶端。在測(cè)試過(guò)程中,客戶端會(huì)以每四臺(tái)一組的步進(jìn)依次增加并且向服務(wù)器發(fā)送文件傳輸請(qǐng)求,測(cè)試結(jié)束后控制臺(tái)收集數(shù)據(jù)并繪制出服務(wù)器的數(shù)據(jù)傳輸變化曲線。
NetBench 7.03 Ent_dm.tst測(cè)試腳本模擬的是企業(yè)級(jí)文件服務(wù)器應(yīng)用,它不但要求被測(cè)服務(wù)器的磁盤子系統(tǒng)可以提供足夠的吞吐量,還需要其具有較高的IO處理能力,并且需要較為平衡的讀取能力和寫入能力。
三代操作系統(tǒng)對(duì)比:NebBench測(cè)試性能
可見(jiàn)Windows Server 2008和Windows Server 2008 R2的表現(xiàn)比較接近,而Windows Server 2003則明顯要低不少。Windows Server 2008 R2的文件服務(wù)器吞吐量略微超過(guò)了2500Mbps。而Windows Server 2008是2250Mbps左右。Windows Server 2003 R2則只有1500Mbps左右。
之所以說(shuō)具有這樣的表現(xiàn)有多種原因,但最主要的是兩個(gè)方面:系統(tǒng)內(nèi)核和網(wǎng)絡(luò)子系統(tǒng),Windows Server 2003的中斷處理只能在***個(gè)物理CPU核心上進(jìn)行,這個(gè)核心很快就成為了具有大量IO(因而具有大量中斷)的服務(wù)器中的瓶頸。而到了Windows Server 2008,中斷處理(ISR和DPC)都可以發(fā)生在多個(gè)CPU核心上。而Windows Server 2008 R2對(duì)DPC的處理又做了改進(jìn)。
至于網(wǎng)絡(luò)子系統(tǒng)的改進(jìn),每一代Windows都會(huì)改進(jìn)其NDIS(Network Driver Interface Specification,即網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范),Windows Server 2003是5.2,2008是6.10,而2008 R2是6.20。相比NDIS 5.x/6.0,Windows Server 2008的NDIS 6.1對(duì)RSS(接收方擴(kuò)展)和MSI-X(擴(kuò)展消息告知中斷)的支持更好,并且支持?jǐn)?shù)據(jù)包的頭和數(shù)據(jù)獨(dú)立處理。Windows Server 2008 R2的NDIS 6.20對(duì)RSS作了進(jìn)一步的改進(jìn)。不過(guò),我們?cè)?008/2008R2測(cè)試下使用的驅(qū)動(dòng)程序都是基于NDIS 6.0架構(gòu),因此最終結(jié)果上來(lái)看,兩個(gè)操作系統(tǒng)的差別不算太大。
Broadcom為BCM5708C配的***驅(qū)動(dòng)仍然是基于NDIS 6.0架構(gòu)
顯然,Server 2008相對(duì)于Server 2003,或者說(shuō)Vista相比于XP,確實(shí)具有顯著的改進(jìn),文件服務(wù)器性能上也是如此。Vista/Server 2008搭建了一個(gè)全新的架構(gòu),包括內(nèi)核、圖形架構(gòu)和網(wǎng)絡(luò)架構(gòu)。Windows 7/Windos Server 2008 R2則是在其基礎(chǔ)上繼續(xù)進(jìn)行了較小的改動(dòng)。
Windows Server 2008 R2,Windows NT 6.1,2009年10月22日
在測(cè)試中,我們使用的Broadcom BCM5708C網(wǎng)卡搭配的***驅(qū)動(dòng)也只是基于NDIS 6.0架構(gòu),Windows Server 2008支持的NDIS 6.1和Server 2008 R2支持的NDIS 6.20都沒(méi)有派上用場(chǎng)。不過(guò)其它地方都有改進(jìn):
NETSH命令顯示TCP的各種加速特性的配置
雖然RSS(接收方縮放)、TCP Chimney Offload(煙囪卸載)、NetDMA、DCA等Windows Server 2003 SP1 with SNP也可以提供支持,但是Windows Server 2008以及2008 R2能做的更好??梢源_定,在文件服務(wù)器上,使用Windows Server 2008 R2是一個(gè)更正確的選擇。