由现在的发展趋势我们可以看到,虚拟化技术毫无疑问会成为未来十年商用领域最重要的技术之一,但何以衡量我们的平台适合部署虚拟化技术,又或者说我们的平台是否已经最优化呢?这均需要我们有相应的性能评估工具来进行虚拟化性能的评估。为此Intel与IBM提供了名为vConsolidate的性能评估工具,用与业界作为虚拟化性能评估的标准,该模型工具可以有效的评估客户平台是否适合部署虚拟化技术应用。天极实验室是目前亚太地区首家具备vConsolidate虚拟化性能评估能力的第三方面媒体实验室。
vConsolidate是一项整合性能指标评测,包括四个同时运行的不同性能指标评测。其中包含面向数据库、Web、Java和邮件的性能指标评测组件。由于该评测面向虚拟环境,因而每个组件均在其自己单独的虚拟机(VM)和操作系统中运行。除了上述四个性能指标评测组件之外,还有第五台虚拟机未运行性能指标评测,由此来模拟闲置的VM。这五台虚拟机构成了一个整合堆栈单元(CSU)。
如上所述,vConsolidate堆栈的构建模块包括五台不同的虚拟机(数据库、Web、邮件、Java和闲置)。为了运行单个的整合堆栈单元(CSU),需要将三台客户机与被测服务器(SUT)相连接。其中两台客户机生成负载(一个用于Web,另一个用于邮件),第三台客户机来控制运行环境。Java和数据库组件具有低消耗的独立驱动程序,不需要运行外部客户机。(注意,随着更多CSU的增加,所需的客户机将以“三个”为单位递增。)
所用的四个组件工作负载分别为:Sysbench(数据库)、WebBench*(Web)、LoadSim(邮件)和Specjbb2005*(Java),工作负载的存储跨整个测试配置进行分布。Web客户机包含WebBench客户机程序;邮件客户机包含:Microsoft Outlook、LoadSim和WebBench控制器程序;服务器包含虚拟化软件,在此为VMware ESX Server,单个VM包含各自的工作负载。这些VM文件可以本地存储到服务器上,或者如同我们的配置一样存储到外部存储域网络(SAN)上。每个CSU都会对所有的5个测量基准产生一个评分。此外,vConsolidate只报告一个最终的测试分值,这个分值是所有CSU分值的总和,我们会用一套通用的参考分值来计算上述系统的相关分值。
尽管vConsolidate堆栈使用了标准工作负载,但仍需进行某些修改以符合所需标准,两个主要改变是Sysbench与Specjbb2005。
下面我们对vConsolidate模型的四个组件分别作一下介绍。
数据库:
SYSBENCH-OLTP是由MySQL创造的一种开放源代码性能指标评测工具,用于评测不同数据库的在线交易处理(OLTP)性能。Sysbench-OLTP是一种多线程工作负载。每个线程均向DBMS发送交易。Sysbench-OLTP将每秒交易次数(TPS)作为性能指标评测标准。
Java:
Specjbb是由SPEC开发的一种性能指标评测,用于测量Java性能(http://www.spec.org/jbb2005/)。它可测量Java虚拟机(JVM)、即时(JIT)编译器、垃圾收集、线程以及操作系统某些方面的实施情况。Specjbb脚本将仓库的数量从1增加到2*N,其中N为CPU的数量,标准为每秒交易量(仓库平均数量从N增加到2*N,其中N为CPU的数量),最新版本为SPECjbb2005,它提供了一种以更加面向对象的方法实施的全新增强型工作负载,以体现实际应用的设计方式。它推出了XML处理和BigDecimal计算等全新特性,从而使该性能指标评测能够更真实的反映当今应用。
Web:
WebBench是一种经授权的《PC Magazine》性能指标评测程序,用于测量Web服务器的性能。WebBench可提供多个标准工作负载。静态工作负载文件只包含静态请求;动态工作负载文件包含静态请求和动态请求;电子商务工作负载文件包含安全和不安全的静态请求及动态请求。根据我们的目的,我们使用了采用动态SSL工作负载的电子商务测试。
邮件:
LoadSim 2003是一种经授权的微软工作负载,用于模拟MAPI客户机的性能。LoadSim创建了可执行收发电子邮件等操作的模拟邮箱负载。它还可执行安排和接受日程约定等其它任务。这些更加复杂的任务使得该工作负载不同于较为简单的“发送-接收”工作负载。