VMware虚拟机性能评估分析
2015-07-11谭志远黄巍宫云平杨剑
谭志远,黄巍,宫云平, 杨剑
(1.中国电信股份有限公司广州研究院,广东 广州 510630;2.中国电信股份有限公司福建分公司,福建 福州 350001)
1 引言
随着云计算虚拟化技术的成熟,越来越多的业务平台部署或迁移到云资源池上,但在实际应用过程中,对于大型业务平台(业务量大、用户多、处理能力要求高的平台)是否适合迁移到云资源池上,无论是规划部门还是维护部门都存在顾虑,担心的根源就在于服务器虚拟化后,虚拟机所获得的虚拟CPU、虚拟网络、虚拟磁盘等的处理能力与物理服务器相比到底有多大的差异。
本文在实验室云资源池上对不同规格的虚拟机(对虚拟CPU、虚拟内存进行不同的配置)进行性能测试,来评估虚拟机的CPU处理能力、网络带宽、磁盘IO等,通过性能测试结果来综合分析和评估虚拟机的性能,以消除当前云资源池规划或维护人员对虚拟机处理能力所存在的顾虑。
2 虚拟机性能测试
2.1 测试方法
为评估虚拟机的处理能力、网络带宽、磁盘IO读写能力,在实验室通过LoadRunner模拟100个用户(实验室模拟器只获得了100个用户的License)并发访问WEB服务器上的文件(文件根据大小划分,有2k、16k、64k、200k等4种),如访问2k文件,在LoadRunner脚本中配置http://172.16.22.18/2k.gif,这样一方面能通过多用户并发请求测试出虚拟机的处理能力,同时通过访问不同大小的文件,可评估虚拟机网络带宽和磁盘的读写能力。在此基础上为进一步印证LoadRunner性能测试的结果,还使用了IOmeter进行性能测试作为辅助验证。在做最后评估时,将依据2种性能测评软件的测试结果,结合虚拟机操作系统输出的性能统计数据以及在IP SAN上观察到的性能数据,对虚拟机的性能进行综合评估。
2.2 测试环境
测试环境安装VMware Vsphere5.0企业版,由4台物理服务器(2CPU4核 32G)、华为IP SAN(HW S2700T 20T)、华为千兆交换机(IP SAN也采用千兆交换机与服务器互联,因此虚拟机磁盘读写最大的带宽也将是千兆)等组成云资源池,一台IBM X3650(2CPU4核 16G)独立物理服务器提供WEB服务。性能测试软件LoadRunner(最大可模拟100个用户)及IOmeter部署在安装有Windows2003的虚拟机上。组网如图1所示。
图1 实验室测试环境
2.3 性能测试结果
(1)LoadRunner性能测试结果
在模拟测试时,把LoadRunner所在虚拟机的虚拟CPU,分别配置为1VCPU、2VCPU、3VCPU、4VCPU、6VCPU、8VCPU进行性能测试,根据目前VMware虚拟机VCPU的配置策略(VCPU数量=虚拟插槽数*每个插槽内核数),在实验室针对相同的VCPU 数采用不同的插槽数和内核数的组合来综合评估其性能,如表1所示的性能测评结果是通过LoadRunner模拟访问WEB服务器上不同大小文件的性能测试结果。
表1 中所测试的虚拟机是部署在2 物理CPU(4Core)、32G内存的物理服务器上,而LoadRunner虚拟安装的操作系统是Windows2003(最大支持3G内存)。
在LoadRunner同时模拟100个用户访问WEB文件时,分别测出了不同VCPU数下计算资源的瓶颈、网络瓶颈、磁盘IO瓶颈(通过Windows2003虚拟机的任务管理器和资源监视器性能统计结果判断)。在表1中按照备注中所对应的瓶颈类型分别采用不同的背景色标记,供对比分析。图2 是LoadRunner配置为4VCPU(2虚拟插槽*2内核)模拟访问16k文件的性能测试界面截图,从图2中可以发现,虚拟机的CPU利用率已经达到100%,此时LoadRunner测试出的处理能力为4084.85(Hits/Second)。
(2)IOmeter测试结果
为进一步印证LoadRunner测试的结果,通过IOmeter使用4Worker,每个Worker挂10个IO负载,使用512kB的文件,使用100%写的模式进行性能测试(写到共享存储即IP SAN上,且是通过千兆网卡访问IP SAN),性能测试结果如表2所示,测试截图如图3所示。
表1 LoadRunner性能测试结果
图2 4VCPU(2X2)访问16k文件的性能测试情况(CPU利用率100%,即CPU瓶颈)
表2 IOmeter性能测试结果
3 虚拟机性能评估及分析
3.1 CPU处理能力分析
分析表1 中不同虚拟CPU 数量,在虚拟插槽数和内核数的不同组合下,在访问16k文件的时候,2X2和2X3的组合所获得的处理能力相对来说是最优的,其后随着VCPU数的增加并未得到所期望的更高的处理能力,基于VMware虚拟CPU的分配机制,这是与物理服务器配置强相关的(虚拟机所在物理服务器配置为2物理CPU、4核),因此在日常配置虚拟CPU时,虚拟插槽数应不大于实际物理CPU 数量,每个插槽内核数应不大于每个物理服务器的核心数,这样才能更充分的发挥虚拟CPU的处理能力。
图3 IOmeter性能测试结果(4Worker,每个10负载,100%写)
图4 不同VCPU配置下的虚拟机处理能力
如果以表1中1VCPU(1X1的组合)的处理能力为基准,理论上多虚拟CPU的处理能力应该以此基数倍增,但实际测试时多虚拟CPU的处理能力远小于这个理论值,并且随着虚拟CPU数量的增加,这个偏差越来越大,因此不是虚拟CPU的数量越大虚拟机的处理能力就越高,在满足业务处理能力要求的情况下,建议分配资源以够用为原则,否则会造成虚拟计算资源的极大浪费,相反还会影响虚拟机性能。
根据上述分析结果,在利用云资源池承载业务平台时,可以通过多虚拟机负载均衡的方式部署,每个负载申请资源以够用为原则,通过多负载部署方式一方面提高了业务处理能力,同时可以大大提高云平台资源的利用效率,更提高了业务平台的冗余能力。
3.2 虚拟机网络带宽分析
分析表1 中性能测试数据,当访问200k的文件时,碰到网络瓶颈(在任务管理器中网络使用率达到100%),此时LoadRunner性能测试结果为595 HPS。据此分析虚拟机网卡的实际带宽为:200k*595/1024=116Mbps,相对千兆网卡的带宽(1000b/8=125Mbps),利用率达到92.8%(利用率=116/125*100%),或者说虚拟化后网卡耗损了7.2%。
根据上述分析结果,服务器虚拟化后,即使有7%左右的耗损,但虚拟机的单块虚拟网卡的带宽仍能达到116Mbps,足可以满足目前大部分业务平台处理要求,同时VMware Sphere还提供了通过多块网卡绑定实现负载均衡的功能,完全可以满足更高带宽的业务处理要求。
3.3 虚拟机磁盘IO分析
因试验环境是使用IP SAN,通过千兆网卡与磁盘阵列互联,因此理论上磁盘IO应与网络带宽基本一致(千兆网卡),而根据表1中当使用4VCPU的虚拟机访问64k的文件时,遇到磁盘IO瓶颈(此时虚拟机CPU和网卡利用率皆未达到100%)的情况,因此此时虚拟机磁盘IO读写速度为:64k*1838/1024=114Mbps,利用率为91.2%(114/125*100%),或者说虚拟化后耗损了8.8%。
同理,基于上述分析结果,在实验室采用IP SAN的情况下,磁盘读写耗损较小,完全能满足业务要求,更何况在实际生产环境中会使用性能更高的FC SAN,因此服务器虚拟化后,单个虚拟机的磁盘读写性能也完全能满足业务要求。而根据目前云资源池部署方式,云资源池都是使用共享存储,基于上述分析,单个虚拟机使用磁盘不存在瓶颈,但当多个(成百上千)虚拟机同时访问共享存储时,共享存储将是瓶颈所在,因此实际规划云资源池时,务必综合考虑各虚拟机对磁盘读写的并发要求。
4 结束语
通过利用LoadRunner、IOmeter等性能测试软件对虚拟机的CPU处理能力、网络带宽、磁盘读写能力进行性能测试,并对性能测试结果进行了综合分析,论证了服务器虚拟化后,相对传统物理服务器,虚拟机所获得的计算资源、网络访问能力、磁盘读写能力虽有耗损,但都在可接收的范围内,完全可以满足大部分业务平台部署的要求,完全可以打消通过云资源池部署重要且性能要求高的业务平台时的顾虑,并结合分析结果,给出虚拟机资源的配置建议。希望对虚拟机的性能测评和分析,能对云资源池规划、运维管理人员有所帮助。
[1] 谭志远,宫云平,陈喜洲. 云计算给业务平台的发展与运维带来的机遇与挑战探讨[J]. 电信科学, 2011(S1): 6-10.
[2] 许辉阳,李劼,罗宵翔. 面向业务的云计算IaaS研究[J]. 移动通信, 2011(9): 20-25.
[3] 邓孟城. 基于云计算IAAS的IT基础架构建设方案探讨[J]. 科技风, 2011(11): 53-53.
[4] 余侃. 云计算时代的数据中心建设与发展[J]. 信息通信, 2011(6): 100-102.
[5] 史凡,赵慧玲. 智能化云计算承载网特征和关键技术分析[J]. 中兴通信技术, 2012(4), 32-33.