大数据平台基准测试标准化思考*

2015-04-15 08:46陈凯中国信息通信研究院通信标准研究所高级工程师
信息通信技术与政策 2015年2期
关键词:测试工具基准标准化

陈凯 中国信息通信研究院通信标准研究所高级工程师

魏凯中国信息通信研究院通信标准研究所高级工程师

周晓敏 中国联合网络通信有限公司技术部项目经理

大数据平台基准测试标准化思考*

陈凯 中国信息通信研究院通信标准研究所高级工程师

魏凯中国信息通信研究院通信标准研究所高级工程师

周晓敏 中国联合网络通信有限公司技术部项目经理

大数据基准测试是大数据技术和产品发展中不可或缺的标尺。目前,虽然已经有了很多的测试工具,如何将它们标准化成为业界关注的焦点。本文介绍了大数据基准测试标准化的紧迫性,分析了大数据基准测试标准化现状和测试工具,指出了大数据基准测试标准化所面临的挑战;最后,对大数据基准测试标准化最新进展,以及大数据基准测试标准化下一步的发展方向进行了展望。

大数据 基准测试 Hadoop 标准化

1 引言

大数据是指难以用现有的软件工具提取、存储、搜索、共享、分析和处理的海量的、复杂的数据集合。今天越来越多的企业认识到,大数据的分析能力将成为竞争力的核心,企业对大数据的投资也在不断扩大。Gartner调查显示,73%的企业计划在未来两年内投资大数据。以开源Hadoop、Spark等为基础的大数据基础平台解决方案和云服务如雨后春笋不断涌现,形成了近200亿美元的市场规模。

然而对于很多企业用户来说,如何评价一个大数据平台的综合能力,常常是系统设计、产品和服务选型、平台建设、系统优化和运维时面临的一大挑战。回顾数据库和服务器产品的发展历史,一套公平、可重复、便于理解的测试基准,是推动产品和服务快速成熟的重要支撑。今天,大数据平台正处在发展初期,各种新架构、新产品和新服务不断涌现,研发、采购、验收等环节迫切需要统一的衡量标准来牵引。目前来看,国内外还缺乏一套能体现大数据特点,又简便易行,且被工业界广泛认可的大数据平台基准测试标准。

2 大数据基准测试标准化现状

大数据分析系统具有高性能、高扩展、高可用、高效能、易使用、易管理等特点,其架构设计的复杂性使得系统测试也非常复杂,针对其测试的研究同其设计开发的研究相比则相对薄弱。直到2014年6月,TPC(事务处理性能协会)才发布了基准测试标准TPCx-HS和配套的测试工具。TPC专门为虚拟服务器以及事务处理等机制提供客观且不受供应商影响的基准测试解决方案。

TPC一直认为在制定行业的标准时,性能、持有成本和能源效率是成功的三大关键,因此TPCx-HS的测试重点仍然是性能验证、性价比、功耗以及可用性。TPCx-HS能够对硬件及软件方案加以检测,其中包括Hadoop运行时、Hadoop文件系统、API兼容系统以及MapReudce层等。TPCx-HS这一名称中的“x”代表Express,即精简之意。目前,只有Sort一种测试负载,TPCx-HS委员会认为精简版本的基准测试能够满足企业级基准测试需求,而且不会耗费更多时间及成本资源。TPC协会的成员思科公司已经在其大数据系统上运行TPCx-HS基准测试并公布了最终成绩。

而另一个国际标准测试的权威机构SPEC(标准性能评测机构)虽然成立了大数据基准测试研究组,但目前还没有发布大数据基准测试的标准。

3 大数据基准测试工具

基准测试工具在大数据系统研发中不可或缺。伴随着各种平台软件的出现,特别是开源大数据平台的发展,多种针对不同框架的基准测试工具也陆续出现。其中,除了ApacheHadoop自带的基准测试工具外,很多企业和研究机构也发布了自己的大数据基准测试工具。

3.1 Apache Hadoop基准测试工具

Hadoop自带了若干基准评测程序,安装开销小、运行方便。常用的有DFSCIOTest用于测试HDFS的I/O性能;Sort程序评测MapReduce;MRbench检验小型作业的快速响应能力;NNBench测试Namenode硬件的加载过程;Gridm ix可以通过模拟Hadoop Cluster中的实际负载来评测Hadoop性能。

Hadoop自带的基准评测程序相对简单。例如,Gridm ix所使用的用例并不能代表所有的Hadoop使用场景,缺乏CPU-Bound的用例。而现实应用中,不仅存在很多I/O密集型的应用,也存在很多CPU密集型的应用,如聚类算法、倒排索引等;也不能模拟随机提交作业(如按泊松分布进行提交)的应用场景。因此,并不完全符合测试的预期。

3.2 TPCx-HSKit

TPC发布基准测试标准TPCx-HS的同时,也发布了配套的测试工具TPCx-HSKit。

TPCx-HS负载包含以下4个模块:

(1)HSGen:数据生成器,基于TeraGen。

(2)HSDateCheck:检查数据集和副本的符合性。(3)HSSort:数据排序,基于TeraSort。

(4)HSValidate:排序后的数据校验,基于Tera Validate。

比例因子(Scale factor,SF)可以从1TB扩展到10000TB。3个主要指标(Metrics):HSph@SF代表每小时的吞吐量、$/HSph@S代表性价比、System Availability Data代表可用性,以及一个代表功率的可选指标Watts/HSph@SF。

3.3 Hibench

Intel在Hadoop基准测试工具基础上做了许多重要的扩展,提供了一套开源Benchmark Suite-HiBench,来对其Hadoop集群做Benchmark,并通过HiTune进行性能数据采集。HiTune是Hadoop性能分析工具,可以从每个节点上分布收集性能数据,并且可以将这些数据进行汇总,生产图形化的报告,让客户可以迅速明白哪个节点出了问题,进而迅速调整。HiBench选取的计算模型较为全面和综合,既包含M icro Benchmarks和HDFSBenchmarks,又包含Web Search(网页搜索)、MachineLearning(机器学习)和DataAnalytics(数据分析)等应用。

3.4 YCSB

YCSB(Yahoo Cloud Serving Benchmark)是雅虎开源的一款通用的性能测试工具,可以对各类NoSQL产品进行相关的性能测试,包括Bigtable、HBase、Azure、CouchDB、MongoDB等。YCSB与HBase自带的性能测试工具(Performance Evaluation)相比,可以兼容HBase不同的版本,可以选择进行测试的方式有:Read+W rite和Read+Scan,还可以选择不同操作的频度与选取Key的方式,也可以实时显示测试的进度。

3.5 BigBench

BigBench是第一个基于端到端的大数据分析测试工具,它提供了非常丰富的查询集合,涵盖了各种复杂且真实的场景,主要用于测试并行数据库在SQL-MR环境下的查询能力。BigBench包含两个关键的组件,即数据模型规范和负载/查询规范。其中,结构化数据部分主要采用TPC-DS的数据模型。BigBench包含30个查询/负载,能够在Hadoop平台上执行。

3.6 BigDateBench

BigDataBench是由中科院计算所开发的开源软件,覆盖了微基准测试(M icro Benchmarks)、Cloud OLTP、关系查询、搜索引擎、社交网络和电子商务6种典型的应用场景,包含19种不同类型的负载应用程序和6种不同类型的数据集。

BigDataBench还提供可以保留原始数据特性的,以小规模真实数据生成大规模数据的数据生成工具。包括文本数据、图数据和(数据库)表数据在内的数据集都可以通过该生成工具生成。同时,涵盖了完整的系统软件栈,覆盖的应用类型包括实时分析、离线分析和在线服务应用。

4 大数据基准测试标准化面临的挑战

大数据基准测试工具为基准测试的实施提供了基础。然而,要做到可重复、可比较,还需要制定相应的标准,对测试中的预置条件、测试负载参数、测试数据和测试步骤进行详尽的约束。

4.1 数据生成

数据生成是大数据基准测试首先要解决的问题。由于企业通常不会公开自己的数据,因此真实数据很难获得。即使可以获得,其数据也往往是基于特定的应用场景,不具有普适性。而随机生成的数据,更难以体现应用的特征。因此,目前常用的生成工具会采用二者结合的方式,即通过建模先从真实的数据样本中提取应用特征,在保持应用特征的前提下再随机生成测试样本。合成数据看似很好地解决了问题,但关键在于提取和扩展的过程中如何保持应用特征以及生成的速度是否足够快。

4.2 负载的选择

负载是大数据需要执行的具体任务,用来处理数据并产生结果,负载将大数据平台的应用抽象成一些基本操作。由于行业和领域的不同,其应用有很多不同的特点,从系统资源消耗方面负载可分为计算密集型、I/O密集型和混合密集型。例如,运营商的话单查询需要多次调用数据库,是典型的I/O密集型任务;而互联网的聚类过程需要大量的迭代计算,是典型的计算密集型任务;搜索引擎中的PageRank算法既需要数据交换又要不断地迭代计算,属于混合型任务。面对各种复杂的应用场景,很难选择出合适的测试负载。

4.3 集群规模

随着大数据的迅速发展,集群规模也越来越庞大。例如,TDW(TencentDistributedDataWarehouse,腾讯分布式数据仓库)单集群规模达到4400台,CPU总核数达到10万左右,存储容量达到100PB;每日作业数100多万,每日计算量4PB,作业并发数2000左右,TDW已经成为腾讯最大的离线数据处理平台。

第三方实验室的集群规模通常是几百台,甚至几十台,远远小于运营商运营的规模,测试的结果可能会与实际情况有很大的差距。为了降低测试的复杂性和成本,通常只能在现网上运行简单的测试用例,而目前能够提供大数据在线服务还比较少,主要有微软HDInsight、UcloudUDDP、百度BMR和阿里ODPS等。

4.4 软件的兼容性

Hadoop的发行版除了社区的ApacheHadoop外,Cloudera、Hortonworks、MapR、EMC、IBM、Intel和华为等都提供了自己的商业版本。商业版主要是提供了专业的技术支持,这对一些大型企业尤其重要。社区版ApacheHadoop包含两个版本:Hadoop 1.0和Hadoop 2.0。其中,Hadoop 1.0由一个分布式文件系统HDFS和一个离线计算框架MapReduce组成;而Hadoop2.0则包含一个支持NameNode横向扩展的HDFS,一个资源管理系统YARN和一个运行在YARN上的离线计算框架MapReduce。随着大数据软件逐步被推向市场,被更多的用户安装,兼容性问题也会日益凸现。

5 大数据基准测试标准化最新进展

2015年1月29日,数据中心联盟(www.dca.org.cn)发布了国内第一个大数据产品和服务基准测试规范《大数据平台基准测试技术要求第一部分技术要求》和《大数据平台基准测试技术要求第二部分测试方法》。与该规范配套的评测工具源代码也同期发布,并移交开源社区持续开发。该规范是由中国信息通信研究院(原工业和信息化部电信研究院)牵头,联合中科院计算所、华为、中国移动、Intel、微软、IBM、新浪、百度、阿里、腾讯、浪潮、世纪互联、UCould等国内外知名公司和科研机构共同制定,囊括了国内外主流大数据产品与服务提供商。

如图1所示,《大数据平台基准测试技术要求第一部分技术要求》的评价对象主要包括大数据软件平台(如基于开源Hadoop、Spark平台的商业软件)、大数据软硬一体机和云端大数据服务三大类。

(1)大数据软件平台

主要由分布式文件系统(如HDFS)、分布式计算系统(如MapReduce)、分布式数据库(如HBase)、分布式数据仓库(如Hive)等多个模块构成,能够提供大数据的存储、管理和计算能力。大数据软件平台主要包括开源的Hadoop、Spark等及其商业化软件版本,一般部署在通用硬件平台上。

(2)大数据软硬一体机

大数据软硬一体机集成了服务器、存储、网络和大数据软件平台,以整机的形式销售给客户。对于大数据一体机方案,测试衡量的是软件和硬件整体的性能。

(3)大数据云服务

大数据云服务由云服务商将大数据软件平台部署到云端,以公共云服务的形式向用户提供大数据存储、管理和计算能力,按量收费,用户无需关心集群软硬件的搭建和运维。

规范根据大数据特点,精选了NoSQL、离线分析和实时交互分析等最具代表性的21个基本负载,能够考核平台在计算密集、I/O密集和混合任务等不同场景的表现。标准规定了数据生成、负载选择、测试指标、用例执行和测试配置。标准还从用户角度出发定义了多个维度的指标,不仅有基本的吞吐量质保,还有能耗、压力、扩展性、容错能力等多方面的指标。

《大数据平台基准测试技术要求第二部分测试方法》规定了典型测试负载的测试流程,并给出了测试数据规模的要求(见表1)。

图1 大数据基准测试标准中定义的测试对象

6 结束语

目前,大数据基准测试标准化工作仍处于起步阶段,国内相关工作取得了初步进展,对大数据平台的基本操作测试进行了规范。但应该看到,这仅仅是大数据基准测试标准化工作的开始,未来还有较长的路要走。下一步大数据基准测试标准的发展重点,一是针对企业对SQLonHadoop数据仓库方案的需求,细化交互分析基准测试负载的制定;二是面向政务、金融、电信等重点行业,研究制定端到端的负载,推动行业大数据技术与产品的演进。

表1 10种典型测试负载、特点、应用、数据类型和负载参数

2015-01-20)

云计算标准与测试验证北京市重点实验室项目资助

猜你喜欢
测试工具基准标准化
标准化简述
下期要目
应如何确定行政处罚裁量基准
标准化是综合交通运输的保障——解读《交通运输标准化体系》
基于移动平台APP测试
手车式真空断路器回路电阻测试电流线接头研究
浅谈响应时间测试分析方法
滑落还是攀爬
论汽车维修诊断标准化(上)
燃气轮机燃烧基准温度估算方法