服务器 频道

VMware ESX虚拟化Web应用效率测试

  【IT168评测中心】虚拟化可以将IT环境改造成为更加强大、更具弹性、更富有活力的架构。通过把多个操作系统整合到一台高性能服务器上,最大化利用硬件平台的所有资源,用更少的投入实现更多的应用,还可以简化IT架构,降低管理资源的难度,避免IT架构的非必要扩张。客户虚拟机的真正硬件无关性还可以实现虚拟机的运行时迁移,可以实现真正的不间断运行,从而最大化保持业务的持续性,而不用为购买超高可用性平台而付出高昂的代价。

 
虚拟化技术将各种资源虚拟出多台主机,以提高这些资源的共享率和利用率

  然而通过资源整合,VMware节约了成本,提高了灵活性并且加强了应用管理,但这些却是有代价的,我们可以预料,虚拟化带来的转换会具有一定的开销,本系列文章的目的就是想通过测试来研究,虚拟化在哪些地方会影响系统性能,以及影响的程度有多大,系列文章中也给出了实际搭建过程中遇到的种种问题,以及相应的解决方法。

 

  我们通过WebBench来测试各种环境下的Web应用性能,测试基于我们实验室的一台DELL PowerEdge 2950服务器,配置了两个Intel 45nm Xeon E5430处理器。

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

  • WebBench v5.0

  WebBench是针对服务器作为Web Server时的性能进行测试,我们在被测服务器上安装了IIS6.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
FSB1333MHz
L1容量64K(Data容量为32K)
L2容量12MB(共享)
芯片组Intel 5000X
内存2GB FBD DDR2 667 SDRAM x 8
无虚拟化:16GB
ESX Server:16GB
虚拟化:8GB
磁盘控制器LSI Logic MegaRAID SAS 8408ELP
硬盘Seagate Cheetah 146GB 15K.5 SAS x 3
硬盘设置RAID 5,条带大小64KB,适应性预读,Cached IO
Windows硬盘设置主系统分区30GB,次分区50GB,NTFS格式
操作系统VMware ESX Server 3.5.0 64607
Windows Server 2003 R2 Enterprise x64 Edition SP2
with IIS 6.0
网卡Broadcom BCM5708C千兆网卡 X 4
虚拟化:VMware vmxnet X 4
虚拟化:Intel E1000 X 4
网卡驱动程序无虚拟化:Broadcom x64
虚拟化:VMware vmxnet driver
虚拟化:Intel PRO Set 13.0 x64

Intel VT技术

  我们采用了评测中心的一台DELL 2950服务器,配置了双路Intel 45nm Xeon E5430处理器,频率为2.66GHz,支持SSE4.1指令集,最主要是支持Intel VT技术(Virtualization Techonology),它可以降低虚拟机切换的损耗,从而提升虚拟化应用上的效率。关于硬件级别的虚拟化辅助技术,详细可以参见:从VT-x到VT-d Intel虚拟化技术发展蓝图。服务器还使用了Intel 5000X芯片组,提供24MB的Snoop Filter缓存,这可以提升高负荷时的内存/处理器性能。主操作系统的磁盘系统则是3块15000RPM的Cheetah 15K.5,并通过一块PCIe x8的LSI MegaRAID SAS 8408ELP来组建RAID 5阵列。

  我们使用了4块Broadcom BCM5708C千兆网卡,在没有虚拟化的Windows下使用了Broadcom驱动的Team功能。

 

  测试未虚拟化的时候,我们安装了Windows Server 2003 R2 x64操作系统,并使用启动参数将可用处理器限制为4个——因为目前VMware ESX Server只支持每个虚拟机最多4个处理器。未虚拟化条件下我们使用了Broadcom驱动的Team功能,将4块Broadcom千兆网卡捆绑为一块高带宽的“网卡”。

  测试虚拟化的时候,我们安装了VMware ESX Server 3.5.0 64607,这是一个推出仅数月的新产品,可以支持包括VT-x、VT-d在内的硬件辅助虚拟化技术,对性能的提升很有帮助。我们在一个292GB的RAID 5阵列上采用默认分配的方式安装了ESX Server 3.5.0,并安装了一个Windows Server 2003 R2 x64,这个虚拟的服务器具有4个处理器和8GB的内存(因为不可能把实际服务器的16GB完全分配给虚拟机)。

 

  VMware ESX Server也开始支持Paravirtualization并行虚拟化(或者叫部分虚拟化技术)了,它通过降低需要进行虚拟的部分来达到提高性能的目的,不过会降低虚拟机之间的独立性

  新的ESX Server 3.5也开始支持Virtualized MMU——硬件级别的MMU(Memory Management Unit,内存管理单元),MMU的设计和运行对计算性能影响巨大,因此各种硬件虚拟化技术都首先从这里开始着手,Intel的VT技术以及AMD的相应技术都首先提供了Virtualized MMU功能。

  虚拟的系统具有4个处理器。

  测试过程中实时监测到的系统CPU资源使用。

 


虚拟化静态Web性能对比

  注:无虚拟化情况下我们仅使用了4个处理器核心。因为虚拟化情况下虚拟机仅能具有4个CPU。ESX Server则可以使用所有的8个CPU。本来我们预料虚拟化下的网络效率会大为降低,不过从测试结果看来,静态Web性能反而略有提升。


虚拟化静态Web性能对比

  

 IT168评测中心观点

  在传统的Web性能测试当中,虚拟化条件下的性能表现与非虚拟化条件下的表现较有不同,从测试看出,静态Web测试性能在虚拟化条件下反而略有提升,不过动态Web性能则明显下降。


Intel VT将会降低虚拟化带来的处理器性能损耗

  静态Web性能主要依赖于网络带宽,动态Web性能则主要考验处理器,这样的测试结果表明,VMware ESX Server虚拟化环境下,网络带宽并不会有所降低(由于底层架构的改变,带宽甚至可能比原先略有提升),不过类似VMware这样的完全虚拟化会占用处理器资源,因此会影响到处理器密集型的应用——如动态Web性能。并且,当前虚拟化环境下可以提供的处理能力是有限制的,最多只能具有4个处理器,因此虚拟化环境下不适宜用于需要大量计算能力的应用。

0
相关文章