继上一篇Server2003对决2008系列之IIS6对比IIS7对比IIS7中我们对比了32bit系统下的IIS 6.0和IIS 7.0的实际性能之后,我们接着对比了Windows Server 2003和Windows Server 2008的文件服务器性能。
NetBench v7.03
NetBench是针对文件服务器的性能测试软件,影响NetBench性能的主要是服务器的磁盘子系统,服务器磁盘控制器、条带大小、读写缓存、硬盘类型、组建磁盘阵列模式、内存容量、网络拓朴结构等都会对测试结果有明显的影响。我们在被测服务器上设立了文件服务器,NetBench通过网络实验室中60个客户端来模拟网络中的PC向文件服务器所发出的文件传输请求,文件服务器则将存储在磁盘上的文件数据发送给相应的客户端。在测试过程中,客户端会以每四台一组的步进依次增加并且向服务器发送文件传输请求,测试结束后控制台收集数据并绘制出服务器的数据传输变化曲线。
主板DELL处理器Xeon E5430 x 2主频2.66GHzFSB1333MHzL1容量64K(Data容量为32K)L2容量12MB(共享)芯片组Intel 5000X内存2GB FBD DDR2 667 SDRAM x 8磁盘控制器LSI Logic MegaRAID SAS 8708ELP硬盘Seagate Cheetah 73GB 15K.5 SAS x 3硬盘设置RAID 5,条带大小64KB,适应性预读,Cached IO
主系统分区30GB,次分区50GB,NTFS格式网卡Broadcom BCM5708C千兆网卡 X 4
DELL 2950测试平台 |
我们采用了评测中心的一台DELL 2950服务器,配置了双路Intel 45nm Xeon E5430处理器,频率为2.66GHz,并能支持SSE4.1指令集。服务器还使用了Intel 5000X芯片组,提供24MB的Snoop Filter缓存,这可以提升高负荷时的内存/处理器性能。磁盘系统则是3块15000RPM的Cheetah 15K.5,并通过一块PCIe x8的LSI MegaRAID SAS 8708ELP来组建RAID 5阵列。最后,为了避免网络瓶颈,我们使用了4块Broadcom BCM5708C千兆网卡,并使用了Broadcom驱动的Team功能。
AWindows Server 2008 Enterprise EditionBWindows Server 2003 Enterprise Edition
对比测试环境 |
]
SMB 2.0
自从文件服务功能被引入到Windows中以来,服务器消息块(Server Message Block,SMB) 远程文件系统协议就已成为Windows文件服务的基础。SMB文件系统的一个开放版本也称为通用Internet文件系统(Common Internet File System,CIFS)并为Microsoft广泛使用。
如同Windows通过软件可以支持NFS一样,Linux/Unix通过Samba也可以支持SMB,实际上,不少的小型NAS都是使用了Linux + Samba来提供Windows文件服务器支持的。
SMB 1.0最早在15年前的Windows for Workgroup出现,然而直到今天,我们仍然在使用这个古老的协议。在过去的几年中,SMB 的设计限制制约了Windows文件服务的性能和利用新的本地文件系统功能的能力。例如,单个消息能传输的最大缓冲区大小为约 60KB,并且 SMB 1.0 无法识别 Windows Vista 和 Windows Server 2008 中新增的 NTFS 客户端符号链接。
Windows Vista和Windows Server 2008中引入了SMB 2.0,它是Windows最新的远程文件服务协议。除了能正确地处理客户端符号链接和一些其它的NTFS增强功能之外,SMB 2.0还使用批处理来最小化客户端和服务器之间的信息交换数量,它支持将多个请求封装到单一的数据包内,从而降低了损耗,允许传输更多的数据,最终提高了特别是广域网 (WAN) 这样高延迟的网络的吞吐量。
SMB协议可以运行于NetBIOS/NetBEUI/IPX以及TCP/UDP/IP上方
SMB 2.0还允许更多的连接数量,SMB 1.0针对单个文件按顺序执行I/O,而SMB 2.0则实现了I/O管道,从而可针对同一文件执行多个并发I/O。SMB通过衡量客户端用于未完成I/O 的服务器内存数量来决定管道的深度。这些最终提升了文件服务的品质。
如上一篇文章所述,由于Windows Server 2008的I/O内存管理器和I/O系统、TCP/IP协议方面的改进,SMB 2.0可以显著提高吞吐量并减少了大型传输的文件复制时间。不过由于SMB是一种Server/Client的架构,需要客户机和服务器都支持SMB 2.0方能达到最高的性能,我们测试的Windows Server 2008文件服务器支持SMB 2.0,而我们的60台客户机则只支持SMB 1.0(基于Windows XP操作系统),因此我们的测试只能反映出Windows Server 2008架构对SMB 1.0的提升。
Windows Server 2003只支持SMB 1.0。我们期待下一步将所有的XP客户机都升级为支持SMB 2.0的Vista机器。
结果表现出,即使是在SMB 1.0应用环境下,2008的吞吐量也要比2003高,在32个客户机2003的吞吐量就达到峰值了,而2008一直爬升,峰值为1808.1Mbps,2003则为1565.1,2008要高15.5%左右。
这完全是操作系统带来的提升,根据我们IOMeter的测试,2003和2008的纯磁盘性能上并没有什么差别。
评测中心观点
在传统的SMB 1.0文件服务器性能测试当中,Windows Server 2008性能更佳,假如是SMB 2.0应用,提升会更加显著,对客户来说就意味着一件事:升级吧,Windows Server 2008可以同时兼容SMB 1.0和SMB 2.0,并且性能得到了提升。