如上所述,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)上。图1显示了测试所用的基本拓扑。
图 1 —— vConsolidate 拓扑
尽管 vConsolidate 堆栈使用了标准工作负载,但仍需进行某些修改以符合所需标准。两个主要改变是 Sysbench 与 Specjbb2005。
数据库:
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创建了可执行收发电子邮件等操作的模拟邮箱负载。它还可执行安排和接受日程约定等其它任务。这些更加复杂的任务使得该工作负载不同于较为简单的“发送-接收”工作负载。
基准测试简介
SPEC:标准性能评估机构(the StandardPerformanceEvaluation Corporation)是一个全球性的、权威的第三方应用性能测试组织,它旨在确立、修改以及认定一系列服务器应用性能评估的标准。该测试是目前业界标准的、权威的基准测试之一。
主要测试工具:
SPECCPU:测量处理器、总线、内存和编译器的性能。通过分别测量整数性能(SPECint)和浮点性能(SPECfp)来计算密集类型的工作负荷
TPC: 事务处理性能委员会TPC(TransactionProcessing Performance Council)是一个非盈利性的国际组织。TPC并不给出基准程序的代码,而只给出基准程序的标准规范。现在成员包括所有主要的数据库厂商和服务器硬件供应商总共50余家,IBM、NCR、HP、Oracle、Microsoft等国际著名公司均是其会员。
主要测试工具:
TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目。这种基准测试项目将对包括查询、更新及队列式小批量事务在内的广泛数据库功能进行测试。许多IT专业人员将TPC-C视为衡量“真实”OLTP系统性能的有效指示器。 TPC-C基准测试针对一种模拟订单录入与销售环境测量每分钟商业事务(tpmC)吞吐量。
TPC-H:测量在商业分析中决策支持系统(DSS)的性能。DSS是一种计算机应用程序,它分析商业数据展现出来使用户/管理者可以更容易得进行商业决策。例如供求管理、客户满意度分析、市场份额分析。