Server2003对决2008之IIS6对比IIS7

来源:岁月联盟 编辑:zhu 时间:2008-07-11
Server2003对决2008之IIS6对比IIS7内容简介:服务器操作系统的更新换代总是极为难得的,例如,微软的Windows Server 2008和其上一代Windows Server 2003就相差了5年(中间插入了一个Windows Server 2003 R2),而Windows Server 2003和它的上一代Windows 2000 服务器操作系统的更新换代总是极为难得的,例如,微软的Windows Server 2008和其上一代Windows Server 2003就相差了5年(中间插入了一个Windows Server 2003 R2),而Windows Server 2003和它的上一代Windows 2000 Server又相差了3年。

 

Server2003对决2008之IIS6对比IIS7  

Windows Server 2008

 

 

 

Server2003对决2008之IIS6对比IIS7  

Windows Server 2003

 

  Windows Server 2008是微软公司今年年初(3月13日)推出的服务器操作系统,在Web、虚拟化、安全、可用性等方面都进行了显著的改进,被宣称为是迄今最灵活、最强健、也是最安全的Windows服务器操作系统,其实际工作表现如何呢?IT168评测中心意欲通过一系列的测试文章,来解答:Windows Server 2008的性能如何?现在值不值得升级?等诸如此类的问题。


我们打算先从最常见的Web应用开始,我们先使用了WebBench进行测试,以后我们会加入更多的测试种类。
  • WebBench v5.0

  WebBench是针对服务器作为Web Server时的性能进行测试,我们在被测服务器上安装了IIS7.0组件,以提供测试所需的Web服务。在测试中我们开启了网络实验室中的60台客户端,分别使用了WebBench 5.0内置的动态CGI以及静态页面脚本对服务器进行了测试。

  静态测试是由客户端读取预先放置在服务器Web Server下的Web页面(wbtree),这项测试主要考察的是服务器磁盘系统以及网络连接性能。我们使用了实验室中的60台客户端,配合Static_mt.tst多线程静态脚本测试向被测服务器发送请求。

  动态测试偏重于对服务器CPU子系统的性能测试,它对于Web服务器提供了足够的负载。我们将一个C语言编写的CGI源文件Simcigi.c编译为Simcgi.exe,并将其作为动态测试中的CGI脚本。在测试过程中,每台安装了WebBench客户端软件的PC,会在300秒的时间内持续向服务器发送CGI请求,而控制台会纪录并汇总服务器所响应CGI请求的数据。CGI测试的成绩高低,主要取决于服务器处理器子系统性能的优劣。处理器子系统包括CPU、内存以及内存控制器,CPU频率、缓存以及内存容量大小和内存带宽,都会影响该项成绩。

DELL 2950测试平台

主板 DELL 处理器 Xeon E5430 x 2 主频 2.66GHz FSB 1333MHz L1容量 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服务器,配置了双路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功能。

对比测试环境

A Windows Server 2008 Enterprise Edition B Windows Server 2003 Enterprise Edition

 

 

Server2003对决2008之IIS6对比IIS7  

Windows Server 2008集成的Internet Information Services 7——IIS7.0

  Windows服务器操作系统集成了Web服务软件:Internet Information Services,2003集成的是6.0,而2008集成的则是7.0。下面是2008宣传文档中对IIS7.0的描述:

IIS的改进

 令人尊敬的Microsoft Web服务器软件到Windows Server 2008已经经历了数次修订。IIS 7首次完全公开并完全部件化——你可以只安装你所需要的组件,因此更轻,响应更多且更不易被攻击。IIS管理界面也完全重新设计。核心的改进包括:

  *全新的组件结构

  在IIS历史上,首次,管理员尝试了可完全控制IIS的哪些部分被安装并在特定时间运行。你可以运行你所需的特定服务。这样系统也会更安全,并且易于管理,程序的执行情况也会更好。FastCGI支持意味着PHP和其他运行时间语言被快速执行,安装Windows的机子之前没有这一功能。

  *灵活的扩展模式

  IIS 7使得开发者可以进入一个全新的APIs套装——可直接与IIS沟通,这使得模块开发和定制更容易进行。开发者甚至可以进入内部结构、脚本,甚至可以登录并管理IIS域——为勇于尝试的管理员和第三方软件供应商开了很多通路以扩展IIS的功能。

  *简化结构以及应用软件的配置功能

  结构可以通过XML文件完全完成。中心IIS结构可以通过多个文件进行扩展,使得很多网站和应用软件运行在相通的服务器上但是相互独立,但是其结构仍易于管理。微软公司最钟爱IIS 7的组件是用相同配置的机器建立网络田,因为新的服务器田已经联机了,管理员可以轻松采用XCOPY同时通过新的服务器转移当前结构文件。其次,新服务器上安装的IIS与现有服务器上的相同。这或许是最大的好处,也是IIS 7进行的更新中最受欢迎之处。

  *委托管理功能

  跟Active Directory——实现了使管理员分配许可以执行确定的管理功能很像,IIS管理员可以将一些功能的管理任务委托给其他人,例如网站所有者。

  *更多有效的管理功能

  你不会再在大量标签和对话框中寻找一个你需要更改的设置。创建一个新的网站只有一个对话框,增加一个应用软件池同样只有一个对话框。所有的工具以及功能都在控制台的敏感区域。IIS Manager完全进行了重新设计,同时加入了一个新的管理有效性命令行:appcmd.exe。


Server2003对决2008之IIS6对比IIS7  


IIS 7.0架构

 

 

Server2003对决2008之IIS6对比IIS7  


Server2003对决2008之IIS6对比IIS7  


Server2003对决2008之IIS6对比IIS7  


Server2003对决2008之IIS6对比IIS7  

 

 

 

Server2003对决2008之IIS6对比IIS7  


Windows Server 2008 系统属性

 

 

Server2003对决2008之IIS6对比IIS7  


Windows Server 2003 系统属性

 

 

Server2003对决2008之IIS6对比IIS7  


Windows Server 2008 Broadcom网卡控制台

 

 

Server2003对决2008之IIS6对比IIS7  


Windows Server 2003 Broadcom网卡控制台

 

 

Server2003对决2008之IIS6对比IIS7  


Windows Server 2008 IIS7.0

 

 

Server2003对决2008之IIS6对比IIS7  


Windows Server 2003 IIS6.0

 

 

 

 

Server2003对决2008之IIS6对比IIS7  


WebBench动态CGI测试性能

 

  或许和很多人想象的不一样:超过28台客户机之后,2008的性能开始下降了,2003在这个项目里面占据了优势,这是为什么呢?

 

Server2003对决2008之IIS6对比IIS7  


Window Server 2008任务管理器

 

  WebBench动态测试是一个依赖于处理器性能的测试,在测试过程中,处理器几乎处于满负荷状态,我们的Windows Server 2008系统显然在其他方面占用了处理器资源。可以想象,全新的GUI界面以及额外的IIS模块是缘由,就像Windows XP升级到Windows Vista一样。

  Windows Server 2008的Server Core模式没有GUI界面占用资源的烦恼,不过它不支持动态页面——Server Core下面的IIS只有正常功能的一小部分,仅有静态HTML主机而没有动态Web应用软件支持,实在让人感到遗憾。我们以后或许会加入对Server Core模式下的性能测试,这种模式下性能应该很不错。

 

Server2003对决2008之IIS6对比IIS7  


WebBench静态性能

 

  在静态性能测试当中,Windows Server 2008打了一个漂亮的翻身仗,性能要高出Windows Server 2003 20%以上。Windows Server 2008 + IIS 7.0 + 4块BCM5708C千兆网卡聚合可以提供30000的每秒请求处理数量,实际占据了180MB/s的网络带宽,也就是1440Mbps的带宽。

 

Server2003对决2008之IIS6对比IIS7  

 

 

Server2003对决2008之IIS6对比IIS7  


IIS7.0的Compression带宽节约模式

 

  这个测试使用了IIS7.0的Compression带宽节约模式用来压缩静态页面测试的服务器响应,这个可以提高有效带宽。之所以不在动态测试中使用这个选项是因为:动态页面测试对带宽压力不大,而且压缩需要占用处理器资源,不适合本来就很吃处理器资源的动态测试。

 

Server2003对决2008之IIS6对比IIS7  


Windows Server 2008 : 压缩与不压缩对比

 

  为了检查这个选项的作用,我们分别测试了打开与不打开的性能,结果显示,他们非常接近,不压缩状态下的性能反而略为高一些。

       在传统的Web性能测试当中,Windows Server 2003和Windows Server 2008各有所长,由于GUI界面占用了一些资源,因此2008的动态页面测试性能不如同样硬件条件下的2003,而在依赖于网络带宽的静态页面测试当中,2008表现出了良好的性能,这表明2008的网络性能更为出色。

 

Server2003对决2008之IIS6对比IIS7  

 

   继续分析:在Windows Server 2008当中,网络硬件得到了更有效的利用从而加快了网络传输的速度。根据资料,Windows Server 2008的网络协议栈进行了重写(要知道Windows的网络协议栈从Windows 95以来就没什么变动过了),加入了智能协调系统和优化算法以确保高效通信,同时APIs到网络协议栈更直接地显现,使得开发者更容易与网络协议栈进行沟通。这些都体现到了最终的测试性能上。

  Windows Server 2008 TCP/IP网络协议栈的改进

  Windows Server 2008 TCP/IP网络协议栈的改变其中一项改进是自动协调TCP窗口的大小:Windows Server 2008可以在每个连接上自动调整接收窗口的大小,提高同一网络上服务器间大型数据传输的效率。微软公司引用了如下例子:在10 Gigabit以太网络上,信息包的规模可以达到6 Megabytes。

  此外,2008的网络架构也得到了改进。在之前的Windows Server版本上,一块网卡仅能与一个物理处理器核心相连接。现在,2008可以更好地支持多处理核心和多网卡,处理器之间的传输也更为优化——这一功能被称为接收端调节(receive-side scaling)。这个功能对于多处理器/多网卡服务器来说至关重要,就我们的实际测试情况,8个处理器核心配合4块网卡在Windows Server 2008下可以提供更为有利的带宽,也就造成了我们得到的静态页面测试结果,在以后的测试中,我们将会继续检验这个功能。

图片内容