陳凱 中國(guó)信息通信研究院通信標(biāo)準(zhǔn)研究所高級(jí)工程師
魏凱中國(guó)信息通信研究院通信標(biāo)準(zhǔn)研究所高級(jí)工程師
周曉敏 中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司技術(shù)部項(xiàng)目經(jīng)理
大數(shù)據(jù)平臺(tái)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)化思考*
陳凱 中國(guó)信息通信研究院通信標(biāo)準(zhǔn)研究所高級(jí)工程師
魏凱中國(guó)信息通信研究院通信標(biāo)準(zhǔn)研究所高級(jí)工程師
周曉敏 中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司技術(shù)部項(xiàng)目經(jīng)理
大數(shù)據(jù)基準(zhǔn)測(cè)試是大數(shù)據(jù)技術(shù)和產(chǎn)品發(fā)展中不可或缺的標(biāo)尺。目前,雖然已經(jīng)有了很多的測(cè)試工具,如何將它們標(biāo)準(zhǔn)化成為業(yè)界關(guān)注的焦點(diǎn)。本文介紹了大數(shù)據(jù)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)化的緊迫性,分析了大數(shù)據(jù)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)化現(xiàn)狀和測(cè)試工具,指出了大數(shù)據(jù)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)化所面臨的挑戰(zhàn);最后,對(duì)大數(shù)據(jù)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)化最新進(jìn)展,以及大數(shù)據(jù)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)化下一步的發(fā)展方向進(jìn)行了展望。
大數(shù)據(jù) 基準(zhǔn)測(cè)試 Hadoop 標(biāo)準(zhǔn)化
大數(shù)據(jù)是指難以用現(xiàn)有的軟件工具提取、存儲(chǔ)、搜索、共享、分析和處理的海量的、復(fù)雜的數(shù)據(jù)集合。今天越來(lái)越多的企業(yè)認(rèn)識(shí)到,大數(shù)據(jù)的分析能力將成為競(jìng)爭(zhēng)力的核心,企業(yè)對(duì)大數(shù)據(jù)的投資也在不斷擴(kuò)大。Gartner調(diào)查顯示,73%的企業(yè)計(jì)劃在未來(lái)兩年內(nèi)投資大數(shù)據(jù)。以開(kāi)源Hadoop、Spark等為基礎(chǔ)的大數(shù)據(jù)基礎(chǔ)平臺(tái)解決方案和云服務(wù)如雨后春筍不斷涌現(xiàn),形成了近200億美元的市場(chǎng)規(guī)模。
然而對(duì)于很多企業(yè)用戶來(lái)說(shuō),如何評(píng)價(jià)一個(gè)大數(shù)據(jù)平臺(tái)的綜合能力,常常是系統(tǒng)設(shè)計(jì)、產(chǎn)品和服務(wù)選型、平臺(tái)建設(shè)、系統(tǒng)優(yōu)化和運(yùn)維時(shí)面臨的一大挑戰(zhàn)?;仡檾?shù)據(jù)庫(kù)和服務(wù)器產(chǎn)品的發(fā)展歷史,一套公平、可重復(fù)、便于理解的測(cè)試基準(zhǔn),是推動(dòng)產(chǎn)品和服務(wù)快速成熟的重要支撐。今天,大數(shù)據(jù)平臺(tái)正處在發(fā)展初期,各種新架構(gòu)、新產(chǎn)品和新服務(wù)不斷涌現(xiàn),研發(fā)、采購(gòu)、驗(yàn)收等環(huán)節(jié)迫切需要統(tǒng)一的衡量標(biāo)準(zhǔn)來(lái)牽引。目前來(lái)看,國(guó)內(nèi)外還缺乏一套能體現(xiàn)大數(shù)據(jù)特點(diǎn),又簡(jiǎn)便易行,且被工業(yè)界廣泛認(rèn)可的大數(shù)據(jù)平臺(tái)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)。
大數(shù)據(jù)分析系統(tǒng)具有高性能、高擴(kuò)展、高可用、高效能、易使用、易管理等特點(diǎn),其架構(gòu)設(shè)計(jì)的復(fù)雜性使得系統(tǒng)測(cè)試也非常復(fù)雜,針對(duì)其測(cè)試的研究同其設(shè)計(jì)開(kāi)發(fā)的研究相比則相對(duì)薄弱。直到2014年6月,TPC(事務(wù)處理性能協(xié)會(huì))才發(fā)布了基準(zhǔn)測(cè)試標(biāo)準(zhǔn)TPCx-HS和配套的測(cè)試工具。TPC專門為虛擬服務(wù)器以及事務(wù)處理等機(jī)制提供客觀且不受供應(yīng)商影響的基準(zhǔn)測(cè)試解決方案。
TPC一直認(rèn)為在制定行業(yè)的標(biāo)準(zhǔn)時(shí),性能、持有成本和能源效率是成功的三大關(guān)鍵,因此TPCx-HS的測(cè)試重點(diǎn)仍然是性能驗(yàn)證、性價(jià)比、功耗以及可用性。TPCx-HS能夠?qū)τ布败浖桨讣右詸z測(cè),其中包括Hadoop運(yùn)行時(shí)、Hadoop文件系統(tǒng)、API兼容系統(tǒng)以及MapReudce層等。TPCx-HS這一名稱中的“x”代表Express,即精簡(jiǎn)之意。目前,只有Sort一種測(cè)試負(fù)載,TPCx-HS委員會(huì)認(rèn)為精簡(jiǎn)版本的基準(zhǔn)測(cè)試能夠滿足企業(yè)級(jí)基準(zhǔn)測(cè)試需求,而且不會(huì)耗費(fèi)更多時(shí)間及成本資源。TPC協(xié)會(huì)的成員思科公司已經(jīng)在其大數(shù)據(jù)系統(tǒng)上運(yùn)行TPCx-HS基準(zhǔn)測(cè)試并公布了最終成績(jī)。
而另一個(gè)國(guó)際標(biāo)準(zhǔn)測(cè)試的權(quán)威機(jī)構(gòu)SPEC(標(biāo)準(zhǔn)性能評(píng)測(cè)機(jī)構(gòu))雖然成立了大數(shù)據(jù)基準(zhǔn)測(cè)試研究組,但目前還沒(méi)有發(fā)布大數(shù)據(jù)基準(zhǔn)測(cè)試的標(biāo)準(zhǔn)。
基準(zhǔn)測(cè)試工具在大數(shù)據(jù)系統(tǒng)研發(fā)中不可或缺。伴隨著各種平臺(tái)軟件的出現(xiàn),特別是開(kāi)源大數(shù)據(jù)平臺(tái)的發(fā)展,多種針對(duì)不同框架的基準(zhǔn)測(cè)試工具也陸續(xù)出現(xiàn)。其中,除了ApacheHadoop自帶的基準(zhǔn)測(cè)試工具外,很多企業(yè)和研究機(jī)構(gòu)也發(fā)布了自己的大數(shù)據(jù)基準(zhǔn)測(cè)試工具。
3.1 Apache Hadoop基準(zhǔn)測(cè)試工具
Hadoop自帶了若干基準(zhǔn)評(píng)測(cè)程序,安裝開(kāi)銷小、運(yùn)行方便。常用的有DFSCIOTest用于測(cè)試HDFS的I/O性能;Sort程序評(píng)測(cè)MapReduce;MRbench檢驗(yàn)小型作業(yè)的快速響應(yīng)能力;NNBench測(cè)試Namenode硬件的加載過(guò)程;Gridm ix可以通過(guò)模擬Hadoop Cluster中的實(shí)際負(fù)載來(lái)評(píng)測(cè)Hadoop性能。
Hadoop自帶的基準(zhǔn)評(píng)測(cè)程序相對(duì)簡(jiǎn)單。例如,Gridm ix所使用的用例并不能代表所有的Hadoop使用場(chǎng)景,缺乏CPU-Bound的用例。而現(xiàn)實(shí)應(yīng)用中,不僅存在很多I/O密集型的應(yīng)用,也存在很多CPU密集型的應(yīng)用,如聚類算法、倒排索引等;也不能模擬隨機(jī)提交作業(yè)(如按泊松分布進(jìn)行提交)的應(yīng)用場(chǎng)景。因此,并不完全符合測(cè)試的預(yù)期。
3.2 TPCx-HSKit
TPC發(fā)布基準(zhǔn)測(cè)試標(biāo)準(zhǔn)TPCx-HS的同時(shí),也發(fā)布了配套的測(cè)試工具TPCx-HSKit。
TPCx-HS負(fù)載包含以下4個(gè)模塊:
(1)HSGen:數(shù)據(jù)生成器,基于TeraGen。
(2)HSDateCheck:檢查數(shù)據(jù)集和副本的符合性。(3)HSSort:數(shù)據(jù)排序,基于TeraSort。
(4)HSValidate:排序后的數(shù)據(jù)校驗(yàn),基于Tera Validate。
比例因子(Scale factor,SF)可以從1TB擴(kuò)展到10000TB。3個(gè)主要指標(biāo)(Metrics):HSph@SF代表每小時(shí)的吞吐量、$/HSph@S代表性價(jià)比、System Availability Data代表可用性,以及一個(gè)代表功率的可選指標(biāo)Watts/HSph@SF。
3.3 Hibench
Intel在Hadoop基準(zhǔn)測(cè)試工具基礎(chǔ)上做了許多重要的擴(kuò)展,提供了一套開(kāi)源Benchmark Suite-HiBench,來(lái)對(duì)其Hadoop集群做Benchmark,并通過(guò)HiTune進(jìn)行性能數(shù)據(jù)采集。HiTune是Hadoop性能分析工具,可以從每個(gè)節(jié)點(diǎn)上分布收集性能數(shù)據(jù),并且可以將這些數(shù)據(jù)進(jìn)行匯總,生產(chǎn)圖形化的報(bào)告,讓客戶可以迅速明白哪個(gè)節(jié)點(diǎn)出了問(wèn)題,進(jìn)而迅速調(diào)整。HiBench選取的計(jì)算模型較為全面和綜合,既包含M icro Benchmarks和HDFSBenchmarks,又包含Web Search(網(wǎng)頁(yè)搜索)、MachineLearning(機(jī)器學(xué)習(xí))和DataAnalytics(數(shù)據(jù)分析)等應(yīng)用。
3.4 YCSB
YCSB(Yahoo Cloud Serving Benchmark)是雅虎開(kāi)源的一款通用的性能測(cè)試工具,可以對(duì)各類NoSQL產(chǎn)品進(jìn)行相關(guān)的性能測(cè)試,包括Bigtable、HBase、Azure、CouchDB、MongoDB等。YCSB與HBase自帶的性能測(cè)試工具(Performance Evaluation)相比,可以兼容HBase不同的版本,可以選擇進(jìn)行測(cè)試的方式有:Read+W rite和Read+Scan,還可以選擇不同操作的頻度與選取Key的方式,也可以實(shí)時(shí)顯示測(cè)試的進(jìn)度。
3.5 BigBench
BigBench是第一個(gè)基于端到端的大數(shù)據(jù)分析測(cè)試工具,它提供了非常豐富的查詢集合,涵蓋了各種復(fù)雜且真實(shí)的場(chǎng)景,主要用于測(cè)試并行數(shù)據(jù)庫(kù)在SQL-MR環(huán)境下的查詢能力。BigBench包含兩個(gè)關(guān)鍵的組件,即數(shù)據(jù)模型規(guī)范和負(fù)載/查詢規(guī)范。其中,結(jié)構(gòu)化數(shù)據(jù)部分主要采用TPC-DS的數(shù)據(jù)模型。BigBench包含30個(gè)查詢/負(fù)載,能夠在Hadoop平臺(tái)上執(zhí)行。
3.6 BigDateBench
BigDataBench是由中科院計(jì)算所開(kāi)發(fā)的開(kāi)源軟件,覆蓋了微基準(zhǔn)測(cè)試(M icro Benchmarks)、Cloud OLTP、關(guān)系查詢、搜索引擎、社交網(wǎng)絡(luò)和電子商務(wù)6種典型的應(yīng)用場(chǎng)景,包含19種不同類型的負(fù)載應(yīng)用程序和6種不同類型的數(shù)據(jù)集。
BigDataBench還提供可以保留原始數(shù)據(jù)特性的,以小規(guī)模真實(shí)數(shù)據(jù)生成大規(guī)模數(shù)據(jù)的數(shù)據(jù)生成工具。包括文本數(shù)據(jù)、圖數(shù)據(jù)和(數(shù)據(jù)庫(kù))表數(shù)據(jù)在內(nèi)的數(shù)據(jù)集都可以通過(guò)該生成工具生成。同時(shí),涵蓋了完整的系統(tǒng)軟件棧,覆蓋的應(yīng)用類型包括實(shí)時(shí)分析、離線分析和在線服務(wù)應(yīng)用。
大數(shù)據(jù)基準(zhǔn)測(cè)試工具為基準(zhǔn)測(cè)試的實(shí)施提供了基礎(chǔ)。然而,要做到可重復(fù)、可比較,還需要制定相應(yīng)的標(biāo)準(zhǔn),對(duì)測(cè)試中的預(yù)置條件、測(cè)試負(fù)載參數(shù)、測(cè)試數(shù)據(jù)和測(cè)試步驟進(jìn)行詳盡的約束。
4.1 數(shù)據(jù)生成
數(shù)據(jù)生成是大數(shù)據(jù)基準(zhǔn)測(cè)試首先要解決的問(wèn)題。由于企業(yè)通常不會(huì)公開(kāi)自己的數(shù)據(jù),因此真實(shí)數(shù)據(jù)很難獲得。即使可以獲得,其數(shù)據(jù)也往往是基于特定的應(yīng)用場(chǎng)景,不具有普適性。而隨機(jī)生成的數(shù)據(jù),更難以體現(xiàn)應(yīng)用的特征。因此,目前常用的生成工具會(huì)采用二者結(jié)合的方式,即通過(guò)建模先從真實(shí)的數(shù)據(jù)樣本中提取應(yīng)用特征,在保持應(yīng)用特征的前提下再隨機(jī)生成測(cè)試樣本。合成數(shù)據(jù)看似很好地解決了問(wèn)題,但關(guān)鍵在于提取和擴(kuò)展的過(guò)程中如何保持應(yīng)用特征以及生成的速度是否足夠快。
4.2 負(fù)載的選擇
負(fù)載是大數(shù)據(jù)需要執(zhí)行的具體任務(wù),用來(lái)處理數(shù)據(jù)并產(chǎn)生結(jié)果,負(fù)載將大數(shù)據(jù)平臺(tái)的應(yīng)用抽象成一些基本操作。由于行業(yè)和領(lǐng)域的不同,其應(yīng)用有很多不同的特點(diǎn),從系統(tǒng)資源消耗方面負(fù)載可分為計(jì)算密集型、I/O密集型和混合密集型。例如,運(yùn)營(yíng)商的話單查詢需要多次調(diào)用數(shù)據(jù)庫(kù),是典型的I/O密集型任務(wù);而互聯(lián)網(wǎng)的聚類過(guò)程需要大量的迭代計(jì)算,是典型的計(jì)算密集型任務(wù);搜索引擎中的PageRank算法既需要數(shù)據(jù)交換又要不斷地迭代計(jì)算,屬于混合型任務(wù)。面對(duì)各種復(fù)雜的應(yīng)用場(chǎng)景,很難選擇出合適的測(cè)試負(fù)載。
4.3 集群規(guī)模
隨著大數(shù)據(jù)的迅速發(fā)展,集群規(guī)模也越來(lái)越龐大。例如,TDW(TencentDistributedDataWarehouse,騰訊分布式數(shù)據(jù)倉(cāng)庫(kù))單集群規(guī)模達(dá)到4400臺(tái),CPU總核數(shù)達(dá)到10萬(wàn)左右,存儲(chǔ)容量達(dá)到100PB;每日作業(yè)數(shù)100多萬(wàn),每日計(jì)算量4PB,作業(yè)并發(fā)數(shù)2000左右,TDW已經(jīng)成為騰訊最大的離線數(shù)據(jù)處理平臺(tái)。
第三方實(shí)驗(yàn)室的集群規(guī)模通常是幾百臺(tái),甚至幾十臺(tái),遠(yuǎn)遠(yuǎn)小于運(yùn)營(yíng)商運(yùn)營(yíng)的規(guī)模,測(cè)試的結(jié)果可能會(huì)與實(shí)際情況有很大的差距。為了降低測(cè)試的復(fù)雜性和成本,通常只能在現(xiàn)網(wǎng)上運(yùn)行簡(jiǎn)單的測(cè)試用例,而目前能夠提供大數(shù)據(jù)在線服務(wù)還比較少,主要有微軟HDInsight、UcloudUDDP、百度BMR和阿里ODPS等。
4.4 軟件的兼容性
Hadoop的發(fā)行版除了社區(qū)的ApacheHadoop外,Cloudera、Hortonworks、MapR、EMC、IBM、Intel和華為等都提供了自己的商業(yè)版本。商業(yè)版主要是提供了專業(yè)的技術(shù)支持,這對(duì)一些大型企業(yè)尤其重要。社區(qū)版ApacheHadoop包含兩個(gè)版本:Hadoop 1.0和Hadoop 2.0。其中,Hadoop 1.0由一個(gè)分布式文件系統(tǒng)HDFS和一個(gè)離線計(jì)算框架MapReduce組成;而Hadoop2.0則包含一個(gè)支持NameNode橫向擴(kuò)展的HDFS,一個(gè)資源管理系統(tǒng)YARN和一個(gè)運(yùn)行在YARN上的離線計(jì)算框架MapReduce。隨著大數(shù)據(jù)軟件逐步被推向市場(chǎng),被更多的用戶安裝,兼容性問(wèn)題也會(huì)日益凸現(xiàn)。
2015年1月29日,數(shù)據(jù)中心聯(lián)盟(www.dca.org.cn)發(fā)布了國(guó)內(nèi)第一個(gè)大數(shù)據(jù)產(chǎn)品和服務(wù)基準(zhǔn)測(cè)試規(guī)范《大數(shù)據(jù)平臺(tái)基準(zhǔn)測(cè)試技術(shù)要求第一部分技術(shù)要求》和《大數(shù)據(jù)平臺(tái)基準(zhǔn)測(cè)試技術(shù)要求第二部分測(cè)試方法》。與該規(guī)范配套的評(píng)測(cè)工具源代碼也同期發(fā)布,并移交開(kāi)源社區(qū)持續(xù)開(kāi)發(fā)。該規(guī)范是由中國(guó)信息通信研究院(原工業(yè)和信息化部電信研究院)牽頭,聯(lián)合中科院計(jì)算所、華為、中國(guó)移動(dòng)、Intel、微軟、IBM、新浪、百度、阿里、騰訊、浪潮、世紀(jì)互聯(lián)、UCould等國(guó)內(nèi)外知名公司和科研機(jī)構(gòu)共同制定,囊括了國(guó)內(nèi)外主流大數(shù)據(jù)產(chǎn)品與服務(wù)提供商。
如圖1所示,《大數(shù)據(jù)平臺(tái)基準(zhǔn)測(cè)試技術(shù)要求第一部分技術(shù)要求》的評(píng)價(jià)對(duì)象主要包括大數(shù)據(jù)軟件平臺(tái)(如基于開(kāi)源Hadoop、Spark平臺(tái)的商業(yè)軟件)、大數(shù)據(jù)軟硬一體機(jī)和云端大數(shù)據(jù)服務(wù)三大類。
(1)大數(shù)據(jù)軟件平臺(tái)
主要由分布式文件系統(tǒng)(如HDFS)、分布式計(jì)算系統(tǒng)(如MapReduce)、分布式數(shù)據(jù)庫(kù)(如HBase)、分布式數(shù)據(jù)倉(cāng)庫(kù)(如Hive)等多個(gè)模塊構(gòu)成,能夠提供大數(shù)據(jù)的存儲(chǔ)、管理和計(jì)算能力。大數(shù)據(jù)軟件平臺(tái)主要包括開(kāi)源的Hadoop、Spark等及其商業(yè)化軟件版本,一般部署在通用硬件平臺(tái)上。
(2)大數(shù)據(jù)軟硬一體機(jī)
大數(shù)據(jù)軟硬一體機(jī)集成了服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)和大數(shù)據(jù)軟件平臺(tái),以整機(jī)的形式銷售給客戶。對(duì)于大數(shù)據(jù)一體機(jī)方案,測(cè)試衡量的是軟件和硬件整體的性能。
(3)大數(shù)據(jù)云服務(wù)
大數(shù)據(jù)云服務(wù)由云服務(wù)商將大數(shù)據(jù)軟件平臺(tái)部署到云端,以公共云服務(wù)的形式向用戶提供大數(shù)據(jù)存儲(chǔ)、管理和計(jì)算能力,按量收費(fèi),用戶無(wú)需關(guān)心集群軟硬件的搭建和運(yùn)維。
規(guī)范根據(jù)大數(shù)據(jù)特點(diǎn),精選了NoSQL、離線分析和實(shí)時(shí)交互分析等最具代表性的21個(gè)基本負(fù)載,能夠考核平臺(tái)在計(jì)算密集、I/O密集和混合任務(wù)等不同場(chǎng)景的表現(xiàn)。標(biāo)準(zhǔn)規(guī)定了數(shù)據(jù)生成、負(fù)載選擇、測(cè)試指標(biāo)、用例執(zhí)行和測(cè)試配置。標(biāo)準(zhǔn)還從用戶角度出發(fā)定義了多個(gè)維度的指標(biāo),不僅有基本的吞吐量質(zhì)保,還有能耗、壓力、擴(kuò)展性、容錯(cuò)能力等多方面的指標(biāo)。
《大數(shù)據(jù)平臺(tái)基準(zhǔn)測(cè)試技術(shù)要求第二部分測(cè)試方法》規(guī)定了典型測(cè)試負(fù)載的測(cè)試流程,并給出了測(cè)試數(shù)據(jù)規(guī)模的要求(見(jiàn)表1)。
圖1 大數(shù)據(jù)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)中定義的測(cè)試對(duì)象
目前,大數(shù)據(jù)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)化工作仍處于起步階段,國(guó)內(nèi)相關(guān)工作取得了初步進(jìn)展,對(duì)大數(shù)據(jù)平臺(tái)的基本操作測(cè)試進(jìn)行了規(guī)范。但應(yīng)該看到,這僅僅是大數(shù)據(jù)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)化工作的開(kāi)始,未來(lái)還有較長(zhǎng)的路要走。下一步大數(shù)據(jù)基準(zhǔn)測(cè)試標(biāo)準(zhǔn)的發(fā)展重點(diǎn),一是針對(duì)企業(yè)對(duì)SQLonHadoop數(shù)據(jù)倉(cāng)庫(kù)方案的需求,細(xì)化交互分析基準(zhǔn)測(cè)試負(fù)載的制定;二是面向政務(wù)、金融、電信等重點(diǎn)行業(yè),研究制定端到端的負(fù)載,推動(dòng)行業(yè)大數(shù)據(jù)技術(shù)與產(chǎn)品的演進(jìn)。
表1 10種典型測(cè)試負(fù)載、特點(diǎn)、應(yīng)用、數(shù)據(jù)類型和負(fù)載參數(shù)
2015-01-20)
云計(jì)算標(biāo)準(zhǔn)與測(cè)試驗(yàn)證北京市重點(diǎn)實(shí)驗(yàn)室項(xiàng)目資助