/ 中存储网

Vmmark(虚拟机基准测试)测试方法介绍

2016-07-21 13:54:35 来源:中存储

虚拟机基准测试 Vmmark测试方法介绍

什么是Vmmark

计算机硬件的发展使得功能强大而相对便宜的多处理器服务器成为了主流,但在许多情况下,这些系统的性能都不能得到充分的利用,而近来多核心处理器的普及,也使得这种不充分性更加严重,这也是业界对虚拟化产生兴趣的原因,虚拟化环境提供了一个软件层,使得用户能够在同一个物理服务器内创建多个独立的虚拟机,同时运行多个虚拟机虽然会有一些虚拟化方面的开销,但却可以使得一台服务器得到更高的使用率。虽然这些虚拟机的基础物理资源时共享的,但每个虚拟机确实完全独立的,并执行一个单独的操作系统哦个和单独的应用软件,如图1所示。

Vmark基准测试

图1 虚拟机示意

虽然虚拟化作为能充分利用服务器性能的技术现在已经是一个不可逆转的趋势,而且现在计算机越来越快的计算速度和更加强大灵活的虚拟化技术也为虚拟化的应用创造了更多的机会,但如何衡量服务器虚拟化性能却是一个问题。传统的服务器基准测试仅侧重于对单一工作量的检验,而无法获取支持多个虚拟机系统的性能或者是在同一个服务器上同时支持多个工作量时服务器的性能。一个更为恰当的虚拟机基准测试应该使用运行于多个操作系统上的现实且多样的工作量对服务器的性能加以检验,而且该基准测试应该产生一个易于理解的指标。

VMmark就是一个不错的基准测试方法,该测试将几个普通的工作量同时运行在单独的虚拟机上,每个工作量是一个单一的系统运行基准,我们把它称为tile,运行时产生的多种tile得分的综合就可以得到整个系统的基准评分。从而可以让我们有效评估系统对于虚拟化的支持能力。

什么是tile

VMmark的最终目标是要有效地测量跨越多种硬件平台的虚拟化性能,将会采用一些典型的应用加载在单一的物理服务器上,此种方法尽可能地保证系统资源如CPU、网络和磁盘得到有效地利用,事实上,虚拟环境中想要更顺利地运作,往往需求的是是物质资源的平衡利用。

虚拟化基准测试可以被认为是多个虚拟机执行一套多样化的工作的能力的综合,VMmark测试将几个普通的工作量同时运行在单独的虚拟机上,每个工作量是一个单一的系统运行基准,我们把它称为tile,运行时产生的多种tile总数就可以得到整个系统的基准评分。Tile的总数是指一个物理系统和虚拟层可调节并衡量系统的整合能力。这一概念与一些服务器测试基准是相似的,如TPC-C,该测试同样是通过逐步地增加系统工作量来对系统的性能做出评估。

tile本身并不能考量系统运性能中的微小变化,为了解决这个问题,总的VMmark基准评分由tile数量和每个工作量的性能共同决定。每个VMmark tile的工作量都被限制以使不能完全利用其所在的虚拟机,但每个工作量又能够以某种程度的速度和能力改变底层系统。举例来说,以磁盘应用为主的工作量可能会因为增加了更快速的磁盘阵列而得到更好的评分,这种改变可以获得某种性能的提升,但这种提升并不能增强另外的tile。当tile的数目增加时,现有的工作量也许会受到负面的影响。然而,如果系统还没有被过量使用的话,包含新tile在内的总得分应该会有所增加,该测试的结果是一个灵活的基准,它可以反映一个相对的对于服务器可从事工作量的衡量标准。

工作量

有效的基准应该建立在一系列恰当的数据处理工作上,VMmark基准测试主要应该包括以下应用:

  • 邮件服务器
  • Java服务器
  • 备份服务器
  • Web服务器
  • 数据库服务器
  • 文件服务器

1、邮件服务器

今天,大多数企业都为员工提供电子邮件作为一种手段,沟通。出于这个原因,邮件服务器是现代数据中心重要的工作量,他们往往不仅需要大量的资源,但有严格的响应时间要求。现在最常见的邮件服务器是微软Exchange。因此,Vmmark测试选择微软的Exchange 2003在VMmark中作为代表邮件服务器的工作量。Microsoft提供了一个负载模拟器(LoadSim)模拟用户的Exchange邮件服务器,并且为了符合VMmark要求,我们对其进行了几处改变。在其默认配置,LoadSim需要大量的初始静态磁盘空间,这是为了减少工作量,使其更便于管理。

此外,为了对比,测试会使LoadSim在 Exchange邮件服务器上逐步增加负荷,直到一些资源枯竭,并且负载被限制配置到1000 个MMB3用户,这是一个中型商业用户的典型负载。VMmark设计同样需要定期的度量每个数据的工作量。因为我们有固定的号码,我们通常可以不使用的用户数量作为指标。因此,我们把定期衡量交易的次数,处理邮件服务器和使用,作为我们的指标。

2、Java服务器

Java性能对于许多现代多层次的应用是至关重要的,我们把改良版的SPECjbb2005指标被列入VMmark基准作为衡量工作量的Java性能。SPECjbb2005的是一个交易工作量为基础的TPC - C数据库基准。然而, SPECjbb2005设计是完全独立的,不需要外部客户端生成系统负荷。

在SPECjbb2005中,虽然收取的交易基准利率和响应时间都要通过每个基准测试,但其目的是在完成了测试时报告结果。至于设计,SPECjbb2005在越来越多数据库范围内进行短期运行。其创造稳定的负荷和模拟长时间运行的应用程序,数据库大小被设置为最大。最后,资源消耗的SPECjbb2005是控制引入非标准认为交易之间的时间。

在SPECjbb2005的工作量下运行微软Windows Server 2003中,企业版的虚拟机有两个虚拟CPU和2GB的内存。那个虚拟机使用的是BEA公司JRockit 5.0 。BEA WebLogicJRockit SDK 是一套非常重视效率的 Java 程序开发工具,它内建的常用范例以及亲切简单的操作接口都使它更为程序设计师所爱好使用。

3、备用服务器

许多计算环境都有备用服务器,这些服务器用来准备接受新的工作量或者应付突发事件。这些低负载(大部分情况下时闲置)系统对于整个系统的巩固是很有必要的。尽管这些服务器处于空闲状态,但这些系统仍会占用虚拟层资源,从而影响其他虚拟机。出于这个原因,我们把备用服务器虚拟机也列入了基准tile。在基准平分中,备用服务器不产生数据。但是,它需要定期回复VMmark,这样测试才视为有效。在Vmmark测试中备用服务器的工作量上运行的是Windows Server 2003企业版,其虚拟机占用了一个虚拟的CPU和256MB内存。

4、Web服务器

Web服务器在现代数据中心很普遍,运行Linux操作系统下的Apache Web服务器是一个非常流行的解决方案。虽然许Web服务器基准测试已经存在并取得了不同程度的成功,但基准测试组织(SPEC organization)也制定了一个能够被广泛接受的网页服务器基准测试。而SPECweb2005也被列为VMmark工作量基准。

SPECweb2005支持多任务,电子商务方案也被用于这些测试。基准测试需要长期反复的运行,而不仅仅是三个固定的运行规则,以避免在VMmark基准测试中出现性能的急速地提升或下降。客户响应时间从十秒减少到2秒帖能够产生理想的负荷,从而减少客户端系统需求。

SPECweb2005 运行在红帽系统之下,需要一个拥有两个虚拟处理器和512M内存去运行 Apache 2.0.54 and PHP 4.4.0.SPECweb2005的后端模拟器(BeSim)服务运行在Apache2.0.54使用FastCGI 2.4.2在。虽然是建议,BeSim运行系统独立于Web服务器,VMmark都运行在同一虚拟机,以简化管理保持总体工作量tile。

5、数据库服务器

交易数据库运行需要支持各种各样的应用,虽然庞大的数据库需要专门的服务器,但体积较小且重要的数据库,可以很容易地运行在一个虚拟的环境中。不论大小,数据库往往是资源密集型和行使最系统的组成部分,特别是 CPU和存储。在许多情况下,数据库系统也面临着严格的响应时间要求。

Swingbench,这个甲骨文所提供的免费在线交易处理应用,被用在Vmmark中作为数据库的工作量。Swingbench模拟用户反复对数据库执行预定义混合交易。在VMmark测试中,100用户复用20汇集连接运行。用户交易响应之间的时间被定义为 3秒。甲骨文10g (10.1.0.3)使用甲骨文提供的JDBC驱动程序的OCI业监理处作基础数据库。该数据库实例大约是8GB容量。应用数据文件大约消耗5GB容量,重做日志文件则占其余的空间。甲骨文(内存中的数据高速缓存)被配置为516MB 。这个工作量的性能指标是只数据库每秒的委托数。基准定期用远程应用程序收集这种信息,数据库可以直接查询。尽管数据库用户数量和思考时间固定,但每秒最高是不同的,它是以甲骨文的数据库响应时间为依据的。

6、文件服务器

应用申请来衡量的。该dbench应用来自industrystandardNetBench基准,这需要大量的客户端系统生成系统负荷。该dbench负载在NetBench中顶替由痕迹组成的访问模式。Dbench之所以被选中,是它易于设置和管理。一个小型应用程序,分配和mlocks大内存块运行同时dbench,以减少缓存系统的大小,并迫使更多的执行来获取物理磁盘。Dbench有一个相对较短的运行时间,因此,基准可以多次修改运行期间内的每个VMmark运行。Dbench的基准进一步通过TCP / IP协议修改连接到外部的程序。这种外部程序,运行在客户端系统,跟踪基准的进展得分宗旨并提供了起搏机制来控制dbench的资源利用率,从而确保每个 tile提供了一个可预见的负荷,直至物理硬件完全饱和。平均吞吐量是用完成每一阶段的基准运行来计算的。那个吞吐量可以根据不同的基本磁盘子系统速度。

测试结果解读

VMmark测试从最初的双路服务器到现在已经扩展到了更为广大的系统。最初VMmark测量产生的结果来确认充分配置的tile可以成功运行在一个小的硬件平台并保持稳定状态的长度间隔。而测试的结果将在未来的应用中发挥很大的作用。

1、测试装置

被用来作为示范平台是惠普的ProLiant DL580,其中包含两个2.2 GHz的英特尔Xeon处理器的超线程支持并运行VMware的ESX服务器3.0。该系统配置了16GB的内存。一位EMCCLARiiON磁盘阵列5 磁盘配置RAID5通过光纤通道连接提供存储空间。该系统是连接到负载客户端系统产生了单一的100兆位网络连接。客户端生成的负载是一个HP ProLiant DL385服务器与4GB的内存运行Microsoft Windows 2003 。

2、实验结果

4个多小时的运行,结果是相当一致的run-to-run。该系统实现了在整个基准运行期间CPU全面的利用率,其中包括预备时期。结果一位代表提出在基准分窗口运行下面显示的稳定性,被用来证明得分方法。表1概述了原始分数三个40分钟的间隔内了两个小时的窗口从110分钟到230分钟的基准。此外,40分钟的测量是在预备间隔30分钟和70分钟之间。这种测量数据表明,这种方法可以以代替正式的参考评分被用来展示得分算法。

虚拟机基准测试 Vmmark测试方法介绍

表1

表2显示性能的每一个工作量对预备测量间隔的正常化。无论是Web服务器或是File服务器,其工作量都在预备期变现的略高。这两个预备工作量相对迅速地且能够受益于超过现有的CPU运行周期,直至达到其他的工作量稳定状态。一旦Database服务器和Mail服务器的工作量填补缓冲区高速缓存会消耗额外的CPU ,该CPU的能力过剩消失,所有的工作量在这一系统执行之时起的状态性能水平上。表2也显示了几何平均数而归分数为每个基准间隔。在这种情况下,间隔3是中间值,将报告作为基准的结果。如果系统尚未充分利用,额外的tile可以增加,以改善总体评分基准。

Vmmark(虚拟机基准测试)测试方法介绍

表2

测试案例

华为FusionServer 2288H V3摘取VMmark性能测试桂冠!