數(shù)據(jù)立方與HBase性能對比測試報告_第1頁
數(shù)據(jù)立方與HBase性能對比測試報告_第2頁
數(shù)據(jù)立方與HBase性能對比測試報告_第3頁
數(shù)據(jù)立方與HBase性能對比測試報告_第4頁
數(shù)據(jù)立方與HBase性能對比測試報告_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數(shù)據(jù)立方與HBase性能對比測試報告22/39南京云創(chuàng)存儲科技有限公司數(shù)據(jù)立方與HBase性能對比測試報告目錄TOC\o"1-3"\u一、 概述 41.1目的 41.2測試內容 4二、 測試環(huán)境 92.1測試組網(wǎng) 92.2設備配置 92.3測試工具 102.3.1Ganglia監(jiān)控工具 102.4測試方法 10三、 測試用例 113.1數(shù)據(jù)立方測試用例 113.1.1數(shù)據(jù)立方可靠性測試 113.1.2數(shù)據(jù)立方入性能 123.1.3數(shù)據(jù)立方查詢性能 173.2HBase測試用例 223.2.1HBase可靠性測試 223.2.2HBase入庫性能 233.2.3HBase查詢性能測試 27四、 測試結果 344.1測試用例執(zhí)行情況 344.2性能測試結果 354.2.1數(shù)據(jù)立方與HBase數(shù)據(jù)入庫速率 354.2.2數(shù)據(jù)立方與HBase數(shù)據(jù)入庫對比 374.2.3數(shù)據(jù)立方與HBase查詢性能對比 38五、 測試總結 40概述1.1目的本次將數(shù)據(jù)立方(Datacube)與HBase在相同硬件配置、網(wǎng)絡環(huán)境下,進行性能對比測試,從而驗證數(shù)據(jù)立方在計算處理方面優(yōu)越于HBase。1.2測試內容本次將數(shù)據(jù)立方(Datacube)與HBase進行性能對比測試,測試內容為:產(chǎn)品可靠性、單客戶端數(shù)據(jù)入庫速率、多客戶端數(shù)據(jù)入庫速率、數(shù)據(jù)查詢性能。測試的記錄結構為:hbase(main):001:0>describe'usertable'DESCRIPTION:'usertable',{NAME=>'f1',DATA_BLOCK_ENCODING=>'NONE',BLOOMFILTER=>'NONE',REPLICATION_SCOPE=>'0',VERSIONS=>'3',COMPRESSItrueON=>'NONE',MIN_VERSIONS=>'0',TTL=>'2147483647',KEEP_DELETED_CELLS=>'false',BLOCKSIZE=>'65536',IN_MEMORY=>'false',ENCODE_ON_DISK=>'true',BLOCKCACHE=>'true'},{NAME=>'f2',DATA_BLOCK_ENCODING=>'NONE',BLOOMFILTER=>'NONE',REPLICATION_SCOPE=>'0',VERSIONS=>'3',COMPRESSION=>'NONE',MIN_VERSIONS=>'0',TTL=>'2147483647',KEEP_DELETED_CELLS=>'false',BLOCKSIZE=>'65536',IN_MEMORY=>'false',ENCODE_ON_DISK=>'true',BLOCKCACHE=>'true'},{NAME=>'f3',DATA_BLOCK_ENCODING=>'NONE',BLOOMFILTER=>'NONE',REPLICATION_SCOPE=>'0',VERSIONS=>'3',COMPRESSION=>'NONE',MIN_VERSIONS=>'0',TTL=>'2147483647',KEEP_DELETED_CELLS=>'false',BLOCKSIZE=>'65536',IN_MEMORY=>'false',ENCODE_ON_DISK=>'true',BLOCKCACHE=>'true'}數(shù)據(jù)生成方式:HBase數(shù)據(jù)生成:dataload的配置方式為:#Copyright(c)2010Yahoo!Inc.Allrightsreserved.##LicensedundertheApacheLicense,Version2.0(the"License");you#maynotusethisfileexceptincompliancewiththeLicense.You#mayobtainacopyoftheLicenseat##/licenses/LICENSE-2.0##Unlessrequiredbyapplicablelaworagreedtoinwriting,software#distributedundertheLicenseisdistributedonan"ASIS"BASIS,#WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressor#implied.SeetheLicenseforthespecificlanguagegoverning#permissionsandlimitationsundertheLicense.Seeaccompanying#LICENSEfile.#Yahoo!CloudSystemBenchmark#WorkloadC:Readonly#Applicationexample:userprofilecache,whereprofilesareconstructedelsewhere(e.g.,Hadoop)#Read/updateratio:100/0#Defaultdatasize:1KBrecords(10fields,100byteseach,pluskey)#Requestdistribution:zipfianrecordcount=5000000operationcount=5000000workload=com.yahoo.ycsb.workloads.CoreWorkloadreadallfields=truereadproportion=1updateproportion=0scanproportion=0insertproportion=0requestdistribution=zipfianHBase數(shù)據(jù)生成方式如下:java-cpbuild/ycsb.jar:db/hbase/lib/*com.yahoo.ycsb.Client-pcolumnfamily=f1-dbcom.yahoo.ycsb.db.HBaseClient-Pworkloads/dataload-threads1-load數(shù)據(jù)立方(Datacube)數(shù)據(jù)生成:publicvoidselectScanFilter(Stringusertable,String[]args)throwsIOException{ for(inti=0;i<args.length;i=i+2) { HTabletable=newHTable(configuration,usertable); Scanscan=newScan();//新建一個scan scan.setStartRow(Bytes.toBytes(args[i])); scan.setStopRow(Bytes.toBytes(args[i+1])); ResultScannerResultScannerFilterList=table.getScanner(scan); FileOutputStreamfos=null; BufferedWriterbw=null; fos=newFileOutputStream(file,true); bw=newBufferedWriter(newOutputStreamWriter(fos)); intj=0; for(Resultrs=ResultScannerFilterList.next();rs!=null;rs=ResultScannerFilterList .next()) { StringBuildersBuilder=newStringBuilder(); for(KeyValuekv:rs.list()) { sBuilder.append(new String(kv.getRow())).append(",").append(new String(kv.getFamily())) .append(",").append(new String(kv.getQualifier())).append(",") .append(newString(kv.getValue())).append("\n"); } bw.write(sBuilder.toString()); if(j%1000==0) { bw.flush(); } j++; bw.newLine(); } ResultScannerFilterList.close();測試環(huán)境2.1測試組網(wǎng) 本次測試,數(shù)據(jù)立方、HBase在相同的硬件環(huán)境上進行測試2.2設備配置軟件配置軟件名稱軟件版本數(shù)量(套)說明Datacube1.0版本1HBaseHBase-0.94.71硬件配置序號設備名稱數(shù)量CPU內存硬盤說明1主控服務器2Intel(R)Xeon(R)CPUE5606@2.13GHz32G2*3T2處理節(jié)點7Intel(R)Xeon(R)CPUE5606@2.13GHz32G2*3T網(wǎng)絡配置序號設備名稱設備型號數(shù)量1千兆交換機SD2008T12千兆連接口10/100/1000BASE-T口242.3測試工具2.3.1Ganglia監(jiān)控工具 Ganglia是設計用于檢測數(shù)以千計的節(jié)點。Ganglia的核心包含gmond、gmetad以及一個Web前端。主要是用來監(jiān)控系統(tǒng)性能,如:cpu、mem、硬盤利用率,I/O負載、網(wǎng)絡流量情況等,通過曲線很容易見到每個節(jié)點的工作狀態(tài),對合理調整、分配系統(tǒng)資源,提高系統(tǒng)整體性能起到重要作用。2.4測試方法HBase測試是采用YCSBbenchmark測試的,HBase入庫數(shù)據(jù)量:5000萬條、1億條、5億條、10億條、20億、40億、80億、100億條;HBase數(shù)據(jù)查詢是采用測試代碼實現(xiàn)的,本次HBase查詢是以行鍵+列族+列名進行數(shù)據(jù)查詢的。數(shù)據(jù)立方(Datacube)數(shù)據(jù)入庫分別將HBase中的5000萬、1億條、5億條、10億條、20億、40億、80億、100億條數(shù)據(jù),以文本格式導入到數(shù)據(jù)立方hdfs中的。數(shù)據(jù)立方中的查詢條件與HBase中的查詢條件相同。測試用例3.1數(shù)據(jù)立方測試用例3.1.1數(shù)據(jù)立方可靠性測試Primary(AvatarNode1)節(jié)點故障項目數(shù)據(jù)立方用例名稱主namenode宕機用例編號Datacube-fun-001重要性重要測試目的驗證主namenode宕機后,Standby(AvatarNode2)節(jié)點是否能正常轉換為主節(jié)點,并且系統(tǒng)穩(wěn)定運行預置條件Datacube系統(tǒng)運行正??蛻舳诉\行正常測試步驟1、客戶端向數(shù)據(jù)立方寫數(shù)據(jù)2、寫數(shù)據(jù)過程中,構造主節(jié)點服務器故障:重啟(reboot)、網(wǎng)絡異常、掉電、服務關閉3、客戶端繼續(xù)寫入數(shù)據(jù)4、檢測寫入的數(shù)據(jù)是否丟失預期結果1、AvatarNode2自動切換為Primary,且系統(tǒng)穩(wěn)定。切換完成時間少于10s2、數(shù)據(jù)寫入成功3、切換后寫入的數(shù)據(jù)無丟失備注datanode節(jié)點故障項目數(shù)據(jù)立方用例名稱寫數(shù)據(jù)過程中,datanode節(jié)點宕機用例編號Datacube-fun-002重要性重要測試目的驗證客戶端寫入數(shù)據(jù)過程中,將datanode故障情況下,測試寫入的數(shù)據(jù)是否成功預置條件Datacube系統(tǒng)運行正常客戶端運行正常設置副本數(shù)為2測試步驟1、客戶端向數(shù)據(jù)立方寫數(shù)據(jù)2、寫數(shù)據(jù)過程中,構造datanode節(jié)點服務器故障:重啟(reboot)、網(wǎng)絡異常、掉電、服務關閉3、客戶端繼續(xù)寫入數(shù)據(jù)4、檢測數(shù)據(jù)寫入是否成功預期結果寫數(shù)據(jù)過程中,在機器宕機的那一瞬間寫入的某個文件寫失敗,之后數(shù)據(jù)寫入成功備注3.1.2數(shù)據(jù)立方入性能單客戶端數(shù)據(jù)入庫項目數(shù)據(jù)立方用例名稱單個客戶端數(shù)據(jù)入庫性能測試用例編號Datacube-pre-001重要性重要測試目的驗證單個客戶端向數(shù)據(jù)立方寫5億條數(shù)據(jù)時的帶寬預置條件Datacube系統(tǒng)運行正??蛻舳诉\行正常測試步驟1、啟用單個客戶端將HBASE中的5億條數(shù)據(jù)寫入到數(shù)據(jù)立方2、啟動ganglia監(jiān)控工具3、記錄5億條數(shù)據(jù)入庫速率預期結果1、數(shù)據(jù)入庫正確無誤2、數(shù)據(jù)入庫速率正常備注多個客戶端數(shù)據(jù)入庫速率項目數(shù)據(jù)立方用例名稱多個客戶端數(shù)據(jù)入庫性能測試用例編號Datacube-pre-002重要性重要測試目的驗證多個客戶端向數(shù)據(jù)立方寫5億條數(shù)據(jù),通過ganglia工具,監(jiān)控多個客戶端數(shù)據(jù)入庫速率預置條件Datacube系統(tǒng)運行正常客戶端運行正常測試步驟1、啟用多個客戶(不同服務器),將HBase中寫入的5億條數(shù)據(jù)并發(fā)寫入數(shù)據(jù)立方2、啟動ganglia監(jiān)控工具3、記錄數(shù)據(jù)庫入庫速率預期結果1、數(shù)據(jù)入庫正確無誤2、多個客戶端數(shù)據(jù)入庫速率正常備注5000萬條記錄入庫測試項目數(shù)據(jù)立方用例名稱數(shù)據(jù)立方5000萬記錄入庫測試用例編號Datacube-pre-003重要性重要測試目的測試統(tǒng)計5000萬記錄寫到數(shù)據(jù)立方中所用的時長預置條件數(shù)據(jù)立方系統(tǒng)運行正??蛻舳诉\行正常測試步驟1、客戶端運行測試程序將HBase中寫入的5000萬條記錄寫到數(shù)據(jù)立方中2、記錄5000萬記錄入庫時長預期結果1、記錄入庫正確2、5000萬條記錄入庫時長正常備注1億條記錄入庫測試項目數(shù)據(jù)立方用例名稱數(shù)據(jù)立方1億條記錄入庫測試用例編號Datacube-pre-004重要性重要測試目的測試統(tǒng)計1億條記錄寫到數(shù)據(jù)立方中所用的時長預置條件數(shù)據(jù)立方系統(tǒng)運行正??蛻舳诉\行正常測試步驟1、客戶端運行測試程序將HBase中寫入的1億條記錄寫到數(shù)據(jù)立方中2、記錄1億條記錄入庫時長預期結果1、記錄入庫正確2、1億條記錄入庫時長正常備注5億條記錄入庫測試項目數(shù)據(jù)立方用例名稱數(shù)據(jù)立方5億條記錄入庫測試用例編號Datacube-pre-005重要性重要測試目的測試統(tǒng)計5億條記錄寫到數(shù)據(jù)立方中所用的時長預置條件數(shù)據(jù)立方系統(tǒng)運行正??蛻舳诉\行正常測試步驟1、客戶端運行測試程序將HBase中寫入的5億條記錄寫到數(shù)據(jù)立方中2、記錄5億條記錄入庫時長預期結果1、記錄入庫正確2、5億條記錄入庫時長正常備注10億條記錄入庫測試項目數(shù)據(jù)立方用例名稱數(shù)據(jù)立方10億條記錄入庫測試用例編號Datacube-pre-006重要性重要測試目的測試統(tǒng)計10億條數(shù)據(jù)寫到數(shù)據(jù)立方中所用的時長預置條件數(shù)據(jù)立方系統(tǒng)運行正??蛻舳诉\行正常測試步驟1、客戶端運行測試程序將HBase中寫入的10億條記錄寫到數(shù)據(jù)立方中2、記錄10億條記錄入庫時長預期結果1、記錄入庫正確2、10億條記錄入庫時長正常備注20億條記錄入庫測試項目數(shù)據(jù)立方用例名稱數(shù)據(jù)立方20億條記錄入庫測試用例編號Datacube-pre-007重要性重要測試目的測試統(tǒng)計20億條記錄寫到數(shù)據(jù)立方中所用的時長預置條件數(shù)據(jù)立方系統(tǒng)運行正??蛻舳诉\行正常測試步驟1、客戶端運行測試程序將HBase中寫入的20億條記錄寫到數(shù)據(jù)立方中2、記錄20億條記錄入庫時長預期結果1、記錄入庫正確2、20億條記錄入庫時長正常備注40億條記錄入庫測試項目數(shù)據(jù)立方用例名稱數(shù)據(jù)立方40億條記錄入庫測試用例編號Datacube-pre-008重要性重要測試目的測試統(tǒng)計40億條記錄寫到數(shù)據(jù)立方中所用的時長預置條件數(shù)據(jù)立方系統(tǒng)運行正常客戶端運行正常測試步驟1、客戶端運行測試程序將HBase中寫入的40億條記錄寫到數(shù)據(jù)立方中2、記錄40億條記錄入庫時長預期結果1、記錄入庫正確2、40億條記錄入庫時長正常備注80億條記錄入庫測試項目數(shù)據(jù)立方用例名稱數(shù)據(jù)立方80億條記錄入庫測試用例編號Datacube-pre-009重要性重要測試目的測試統(tǒng)計80億條記錄寫到數(shù)據(jù)立方中所用的時長預置條件數(shù)據(jù)立方系統(tǒng)運行正??蛻舳诉\行正常測試步驟1、客戶端運行測試程序將HBase中寫入的80億條記錄寫到數(shù)據(jù)立方中2、記錄80億條記錄入庫時長預期結果1、記錄入庫正確2、80億條記錄入庫時長正常備注0100億記錄入庫測試項目數(shù)據(jù)立方用例名稱數(shù)據(jù)立方100億條數(shù)據(jù)入庫測試用例編號Datacube-pre-010重要性重要測試目的測試統(tǒng)計100億條記錄寫到數(shù)據(jù)立方中所用的時長預置條件數(shù)據(jù)立方系統(tǒng)運行正常客戶端運行正常測試步驟1、客戶端運行測試程序將HBase中寫入的100億條記錄寫到數(shù)據(jù)立方中2、記錄100億條記錄入庫時長預期結果1、記錄入庫正確2、100億條記錄入庫時長正常備注3.1.3數(shù)據(jù)立方查詢性能5000萬條記錄中查詢10條記錄項目數(shù)據(jù)立方用例名稱5000萬記錄查詢10條數(shù)據(jù)用例編號Datacube-pre-011重要性重要測試目的5000萬記錄中查詢10條記錄,查詢10條記錄正確、時間正常預置條件Datacube系統(tǒng)運行正常查詢框架運行正常ZK啟動正常測試步驟1、客戶端向數(shù)據(jù)立方寫入5000萬條記錄2、客戶端發(fā)送記錄查詢請求,請求查詢10條記錄3、記錄查詢時長預期結果1、查詢結果正確2、查詢時間正常備注數(shù)據(jù)立方測試5000萬條記錄中查詢10條記錄與HBase中的查詢條件一致1億條記錄中查詢1條記錄項目數(shù)據(jù)立方用例名稱1億條記錄中查詢1條記錄用例編號Datacube-pre-012重要性重要測試目的1億條記錄中查詢1條記錄,查詢1條記錄正確、時間正常預置條件Datacube系統(tǒng)運行正常查詢框架運行正常ZK啟動正常測試步驟1、客戶端寫入1億條記錄2、發(fā)送記錄查詢請求,請求查詢1條記錄3、記錄1條記錄查詢時長預期結果1、查詢結果正確2、查詢時間正常備注數(shù)據(jù)立方測試1億條記錄中查詢1條記錄的條件與HBase中的查詢條件一致1億條記錄中查詢10條記錄項目數(shù)據(jù)立方用例名稱1億條記錄中查詢10條記錄用例編號Datacube-pre-013重要性重要測試目的1億條記錄中查詢10條記錄,驗證查詢10條記錄正確、時間正常預置條件Datacube系統(tǒng)運行正常查詢框架運行正常ZK啟動正常測試步驟1、客戶端向數(shù)據(jù)立方寫入1億條記錄2、發(fā)送記錄查詢請求,請求中查詢10條記錄3、記錄10條記錄查詢時長預期結果1、查詢結果正確2、查詢時間正常備注數(shù)據(jù)立方測試1億條記錄中查詢10條記錄與HBase中的查詢條件一致5億條記錄中查詢1條記錄項目數(shù)據(jù)立方用例名稱1億條記錄中查詢1條記錄用例編號Datacube-pre-014重要性重要測試目的5億條記錄中查詢1條記錄,驗證查詢1條記錄正確、時間正常預置條件Datacube系統(tǒng)運行正常查詢框架運行正常ZK啟動正常測試步驟1、客戶端寫入5億條記錄2、發(fā)送記錄查詢請求:查詢1條記錄3、記錄查詢1條記錄時長預期結果1、查詢結果正確2、查詢時間正常備注數(shù)據(jù)立方測試查詢5億條記錄中的1條記錄與HBase中的查詢條件一致5億條記錄中查詢10條記錄項目數(shù)據(jù)立方用例名稱5億條記錄中查詢10條記錄用例編號Datacube-pre-015重要性重要測試目的5億條記錄中查詢10條記錄,驗證查詢10條記錄正確、時間正常預置條件Datacube系統(tǒng)運行正常查詢框架運行正常ZK啟動正常測試步驟1、客戶端向數(shù)據(jù)立方寫入5億條記錄2、發(fā)送記錄查詢請求:請求查詢10條記錄3、記錄查詢10條記錄時長預期結果1、查詢結果正確2、查詢時間正常備注數(shù)據(jù)立方測試查詢5億條記錄中的10條記錄與HBase中的查詢條件一致10億條記錄中查詢1000條記錄項目數(shù)據(jù)立方用例名稱10億條記錄中查詢1000條記錄用例編號Datacube-pre-016重要性重要測試目的查詢10億條記錄中的1000條記錄,查詢1000條記錄正確、時間正常預置條件數(shù)據(jù)立方運行正??蛻舳诉\行正常ZK運行正常測試步驟1、客戶端將HBase中的10億條記錄寫入到數(shù)據(jù)立方2、運行測試程序發(fā)送查詢1000條記錄請求:查詢1000條記錄3、記錄查詢1000條記錄時長預期結果1、1000條查詢結果正確2、1000條記錄查詢時間正常備注數(shù)據(jù)立方測試查詢10億條記錄中的1000條記錄與HBase中的查詢條件一致20億條記錄中查詢1000條記錄項目數(shù)據(jù)立方用例名稱10億條記錄中查詢1000條記錄用例編號Datacube-pre-017重要性重要測試目的查詢20億條記錄中的1000條記錄,查詢1000條記錄正確、時間正常預置條件數(shù)據(jù)立方運行正??蛻舳诉\行正常ZK運行正常測試步驟1、客戶端將HBase中的20億條記錄寫入到數(shù)據(jù)立方系統(tǒng)中2、運行測試程序發(fā)送查詢1000條記錄請求:查詢1000條記錄3、記錄查詢1000條記錄時長預期結果1、1000條查詢結果正確2、1000條記錄查詢時間正常備注數(shù)據(jù)立方測試查詢20億條記錄中的1000條記錄與HBase中的查詢條件一致40億條記錄中查詢1000記錄項目數(shù)據(jù)立方用例名稱40億條記錄中查詢1000條記錄用例編號Datacube-pre-018重要性重要測試目的查詢40億條記錄中的1000條記錄,查詢1000條記錄正確、時間正常預置條件數(shù)據(jù)立方運行正??蛻舳诉\行正常ZK運行正常測試步驟1、客戶端將HBase中的40億條記錄寫入到數(shù)據(jù)立方系統(tǒng)中2、運行測試程序發(fā)送查詢1000條記錄請求:查詢1000條記錄3、記錄查詢1000條記錄時長預期結果1、1000條記錄查詢結果正確2、1000條記錄查詢時間正常備注數(shù)據(jù)立方測試查詢40億條記錄中的1000條記錄與HBase中的查詢條件一致80億條記錄中查詢1000條記錄項目數(shù)據(jù)立方用例名稱80億條記錄中查詢1000條記錄用例編號Datacube-pre-019重要性重要測試目的查詢80億條記錄中的1000條記錄,查詢1000條記錄正確、時間正常預置條件數(shù)據(jù)立方運行正??蛻舳诉\行正常ZK運行正常測試步驟1、客戶端將HBase中的80億條記錄寫入到數(shù)據(jù)立方系統(tǒng)中2、運行測試程序發(fā)送查詢1000條記錄請求:查詢1000條記錄3、記錄查詢1000條記錄時長預期結果1、1000條記錄查詢結果正確2、1000條記錄查詢時間正常備注數(shù)據(jù)立方測試查詢80億條記錄中的1000條記錄與HBase中的查詢條件一致0100億條記錄中查詢1000條記錄項目數(shù)據(jù)立方用例名稱100億條記錄中查詢1000條記錄用例編號Datacube-pre-020重要性重要測試目的查詢100億條記錄中的1000條記錄,查詢1000條記錄正確、時間正常預置條件數(shù)據(jù)立方運行正??蛻舳诉\行正常ZK運行正常測試步驟1、客戶端將HBase中的100億條記錄寫入到數(shù)據(jù)立方系統(tǒng)中2、運行測試程序發(fā)送查詢1000條記錄請求:查詢1000條記錄3、記錄查詢1000條記錄時長預期結果1、1000條記錄查詢結果正確2、1000條記錄查詢時間正常備注數(shù)據(jù)立方測試查詢100億條記錄中的1000條記錄與HBase中的查詢條件一致3.2HBase測試用例3.2.1HBase可靠性測試Primary(AvatarNode1)節(jié)點故障項目HBase用例名稱主namenode宕機用例編號HBase-fun-001重要性重要測試目的驗證主namenode宕機后,備namenode節(jié)點是否能正常轉換為主節(jié)點,并且系統(tǒng)穩(wěn)定運行預置條件HBase運行正??蛻舳诉\行正常測試步驟1、客戶端向HBase寫數(shù)據(jù)2、寫數(shù)據(jù)過程中,構造主節(jié)點服務器故障:重啟(reboot)、網(wǎng)絡異常、掉電、服務關閉3、檢測寫入的數(shù)據(jù)是否丟失預期結果1、AvatarNode2自動切換為Primary,且系統(tǒng)穩(wěn)定。切換完成時間少于10s2、數(shù)據(jù)寫入成功3、切換后寫入的數(shù)據(jù)無丟失備注datanode節(jié)點故障項目HBase用例名稱寫數(shù)據(jù)過程中,datanode節(jié)點宕機用例編號HBase-fun-002重要性重要測試目的驗證客戶端向HBase寫入數(shù)據(jù)過程中,將datanode故障情況下,測試寫入的數(shù)據(jù)是否成功預置條件HBase運行正??蛻舳诉\行正常設置副本數(shù)為2測試步驟1、客戶端向HBase寫數(shù)據(jù)2、寫數(shù)據(jù)過程中,構造datanode節(jié)點服務器故障:重啟(reboot)、網(wǎng)絡異常、掉電、服務關閉3、檢測數(shù)據(jù)寫入是否成功預期結果寫數(shù)據(jù)過程中,在機器宕機的那一瞬間寫入的某個文件寫失敗,之后的數(shù)據(jù)寫入成功備注3.2.2HBase入庫性能單客戶端數(shù)據(jù)入庫項目HBase用例名稱單個客戶端入庫性能測試用例編號HBase-pre-001重要性重要測試目的驗證單個客戶端向HBase中寫數(shù)據(jù),通過ganglia監(jiān)控工具,獲知單個客戶端數(shù)據(jù)入庫帶寬預置條件HBase運行正??蛻舳诉\行正常測試步驟1、啟用單個客戶端向HBase連續(xù)寫入5億條數(shù)據(jù)2、啟用ganglia監(jiān)控程序3、記錄數(shù)據(jù)入庫速率預期結果1、數(shù)據(jù)入庫正確無誤2、數(shù)據(jù)入庫速率正常備注多客戶端數(shù)據(jù)入庫速率項目HBase用例名稱多個客戶端入庫性能測試用例編號HBase-pre-002重要性重要測試目的驗證多個客戶端向HBase中寫數(shù)據(jù),通過ganglia監(jiān)控工具,獲知多個客戶端數(shù)據(jù)入庫帶寬預置條件HBase運行正常客戶端運行正常測試步驟1、啟用多個客戶(不同服務器)并發(fā)向HBase寫5億條數(shù)據(jù)2、啟用ganglia系統(tǒng)監(jiān)控程序3、記錄數(shù)據(jù)庫入庫速率預期結果1、數(shù)據(jù)入庫正確無誤2、多個客戶端數(shù)據(jù)入庫速率正常備注5000萬條記錄入庫測試項目HBase用例名稱HBase5000萬條記錄入庫測試用例編號HBase-pre-003重要性重要測試目的測試統(tǒng)計5000萬條記錄寫到HBase中所用的時長預置條件HBase運行正常客戶端運行正常測試步驟1、客戶端通過Benchmark向HBase寫入5000萬記錄2、記錄5000萬條記錄入庫時長預期結果1、記錄入庫正確2、5000萬條記錄入庫時長正常備注1億條記錄入庫測試項目HBase用例名稱HBase中1億條記錄入庫測試用例編號HBase-pre-004重要性重要測試目的測試統(tǒng)計1億條記錄寫到HBase中所用的時長預置條件HBase運行正??蛻舳诉\行正常測試步驟1、客戶端通過Benchmark向HBase寫入1億條記錄2、記錄1億條記錄入庫時長預期結果1、記錄入庫正確2、1億條記錄入庫時長正常備注5億條記錄入庫測試項目HBase用例名稱HBase中5億條記錄入庫測試用例編號HBase-pre-005重要性重要測試目的測試統(tǒng)計5億條記錄寫到HBase中所用的時長預置條件HBase運行正常客戶端運行正常測試步驟1、客戶端通過Benchmark向HBase寫入5億條記錄2、記錄5億條記錄入庫時長預期結果1、記錄入庫正確2、5億條記錄入庫時長正常備注10億條記錄入庫測試項目HBase用例名稱HBase中10億條記錄入庫測試用例編號HBase-pre-006重要性重要測試目的測試統(tǒng)計10億條記錄寫到HBase中所用的時長預置條件HBase運行正??蛻舳诉\行正常測試步驟1、客戶端通過Benchmark向HBase寫入10億條記錄2、記錄10億條記錄入庫時長預期結果1、記錄入庫正確2、10億條記錄入庫時長正常備注20億條記錄入庫測試項目HBase用例名稱HBase中20億條記錄入庫測試用例編號HBase-pre-007重要性重要測試目的測試統(tǒng)計20億條記錄寫到HBase中所用的時長預置條件HBase運行正??蛻舳诉\行正常測試步驟1、客戶端通過Benchmark向HBase寫入20億條記錄2、記錄20億條記錄入庫時長預期結果1、記錄入庫正確2、20億條記錄入庫時長正常備注40億條記錄入庫測試項目HBase用例名稱HBase中40億條記錄入庫測試用例編號HBase-pre-008重要性重要測試目的測試統(tǒng)計40億條記錄寫到HBase中所用的時長預置條件HBase運行正??蛻舳诉\行正常測試步驟1、客戶端通過Benchmark向HBase寫入40億條記錄2、記錄40億條記錄入庫時長預期結果1、記錄入庫正確2、40億條記錄入庫時長正常備注80億條記錄入庫測試項目HBase用例名稱HBase中80億條記錄入庫測試用例編號HBase-pre-009重要性重要測試目的測試統(tǒng)計80億條記錄寫到HBase中所用的時長預置條件HBase運行正常客戶端運行正常測試步驟1、客戶端通過Benchmark向HBase寫入80億條記錄2、記錄80億條記錄入庫時長預期結果1、數(shù)據(jù)入庫正確2、80億條記錄入庫時長正常備注0100億條記錄入庫測試項目HBase用例名稱HBase中100億條記錄入庫測試用例編號HBase-pre-010重要性重要測試目的測試統(tǒng)計100億條記錄寫到HBase中所用的時長預置條件HBase運行正??蛻舳诉\行正常測試步驟1、客戶端通過Benchmark向HBase寫入100億條記錄2、記錄100億條記錄入庫時長預期結果1、記錄入庫正確2、100億條記錄入庫時長正常備注3.2.3HBase查詢性能測試5000萬記錄中查詢10條記錄項目HBase用例名稱從5000萬記錄中查詢10條記錄用例編號HBase-pre-011重要性重要測試目的查詢HBase的5000萬條記錄中的10條記錄,查詢10條記錄正確、時間正常預置條件HBase運行正??蛻舳诉\行正常測試步驟1、客戶端向HBase寫入5000萬條記錄,其中1條命中2、通過測試程序發(fā)送查詢記錄請求:selectRowKeyFamilyColumn("usertable","user1000032235","f1","field0"); selectRowKeyFamilyColumn("usertable","user1000032235","f1","field1"); selectRowKeyFamilyColumn("usertable","user1000032235","f1","field2"); selectRowKeyFamilyColumn("usertable","user1000032235","f1","field3"); selectRowKeyFamilyColumn("usertable","user1000032235","f1","field4"); selectRowKeyFamilyColumn("usertable","user1000032235","f1","field5"); selectRowKeyFamilyColumn("usertable","user1000032235","f1","field6"); selectRowKeyFamilyColumn("usertable","user1000032235","f1","field7"); selectRowKeyFamilyColumn("usertable","user1000032235","f1","field8"); selectRowKeyFamilyColumn("usertable","user1000032235","f1","field9");3、記錄查詢時長預期結果1、查詢結果正確2、查詢時間正常備注1億條記錄中查詢1條記錄項目HBase用例名稱1億條記錄中查詢1條記錄用例編號HBase-pre-012重要性重要測試目的查詢HBase的1億條記錄中的1條記錄,查詢1條記錄正確、時間正常預置條件HBase運行正常客戶端運行正常測試步驟1、客戶端向HBase寫入1億條記錄2、通過測試程序發(fā)送查詢記錄請求:selectRowKeyFamilyColumn("usertable","user1000022285","f1","field0");3、記錄查詢時長預期結果1、查詢結果正確2、查詢時間正常備注1億條記錄中查詢10條記錄項目HBase用例名稱1億條記錄中查詢10條記錄用例編號HBase-pre-013重要性重要測試目的查詢HBase的1億條記錄中的10條記錄,查詢10條記錄正確、時間正常預置條件HBase運行正??蛻舳诉\行正常測試步驟1、客戶端向HBase寫入1億條記錄2、發(fā)送數(shù)據(jù)查詢10條記錄請求:selectRowKeyFamilyColumn("usertable","user1000022285","f1","field0"); selectRowKeyFamilyColumn("usertable","user1000022285","f1","field1"); selectRowKeyFamilyColumn("usertable","user1000022285","f1","field2"); selectRowKeyFamilyColumn("usertable","user1000022285","f1","field3"); selectRowKeyFamilyColumn("usertable","user1000022285","f1","field4"); selectRowKeyFamilyColumn("usertable","user1000022285","f1","field5"); selectRowKeyFamilyColumn("usertable","user1000022285","f1","field6"); selectRowKeyFamilyColumn("usertable","user1000022285","f1","field7"); selectRowKeyFamilyColumn("usertable","user1000022285","f1","field8"); selectRowKeyFamilyColumn("usertable","user1000022285","f1","field9");3、記錄查詢10條記錄時長預期結果1、查詢結果正確2、查詢時間正常備注5億條記錄中查詢1條記錄項目HBase用例名稱1億條記錄中查詢1條記錄用例編號HBase-pre-014重要性重要測試目的查詢HBase的5億條記錄中的1條記錄,查詢1條記錄正確、時間正常預置條件HBase運行正常客戶端運行正常測試程序運行正常測試步驟1、客戶端向HBase寫入5億條記錄2、通過測試程序發(fā)送查詢1條記錄請求:selectRowKeyFamilyColumn("usertable","user1000062287","f1","field0");3、記錄查詢1條記錄時長預期結果1、查詢結果正確2、查詢時間正常備注5億條記錄中查詢10條記錄項目HBase用例名稱5億條記錄中查詢10條記錄用例編號HBase-pre-015重要性重要測試目的查詢HBase的5億條記錄中的10條記錄,查詢10條記錄正確、時間正常預置條件HBase運行正常客戶端運行正常測試代碼運行正常測試步驟1、客戶端向HBase寫入5億條記錄2、運行測試程序發(fā)送查詢10條記錄請求:selectRowKeyFamilyColumn("usertable","user1000062287","f1","field0"); selectRowKeyFamilyColumn("usertable","user1000062287","f1","field1"); selectRowKeyFamilyColumn("usertable","user1000062287","f1","field2"); selectRowKeyFamilyColumn("usertable","user1000062287","f1","field3"); selectRowKeyFamilyColumn("usertable","user1000062287","f1","field4"); selectRowKeyFamilyColumn("usertable","user1000062287","f1","field5"); selectRowKeyFamilyColumn("usertable","user1000062287","f1","field6"); selectRowKeyFamilyColumn("usertable","user1000062287","f1","field7"); selectRowKeyFamilyColumn("usertable","user1000062287","f1","field8"); selectRowKeyFamilyColumn("usertable","user1000062287","f1","field9");3、記錄查詢10條記錄時長預期結果1、查詢結果正確2、查詢時間正常備注10億條記錄中查詢1000條記錄項目HBase用例名稱10億條記錄中查詢1000條記錄用例編號HBase-pre-016重要性重要測試目的查詢HBase的10億條記錄中的1000條記錄,查詢1000條記錄正確、時間正常預置條件HBase運行正??蛻舳诉\行正常測試代碼運行正常測試步驟1、客戶端向HBase寫入10億條記錄2、運行測試程序發(fā)送查詢1000條記錄請求:Select(1000個RowKey)3、記錄查詢1000條記錄時長預期結果1、1000條記錄查詢結果正確2、1000條記錄查詢時間正常備注20億條記錄中查詢1000條記錄項目HBase用例名稱20億條記錄中查詢1000條記錄用例編號HBase-pre-017重要性重要測試目的查詢HBase的20億條記錄中的1000條記錄,查詢1000條記錄正確、時間正常預置條件HBase運行正??蛻舳诉\行正常測試代碼運行正常測試步驟1、客戶端向HBase寫入20億條記錄2、運行測試程序發(fā)送查詢1000條記錄請求:Select(1000個RowKey)3、記錄查詢1000條記錄時長預期結果1、1000條記錄查詢結果正確2、記下1000條記錄查詢時間備注40億條記錄中查詢1000條記錄項目HBase用例名稱40億條記錄中查詢1000條記錄用例編號HBase-pre-018重要性重要測試目的查詢HBase的40億條記錄中的1000條記錄,查詢1000條記錄正確、時間正常預置條件HBase運行正??蛻舳诉\行正常測試代碼運行正常測試步驟1、客戶端向HBase寫入40億條記錄2、運行測試程序發(fā)送查詢1000條記錄請求:Select(1000個RowKey)3、記錄查詢1000條記錄時長預期結果1、1000條查詢結果正確2、統(tǒng)計1000條記錄查詢時間備注80億條記錄中查詢1000條記錄項目HBase用例名稱80億條記錄中查詢1000條記錄用例編號HBase-pre-019重要性重要測試目的查詢HBase的80億條記錄中的1000條記錄,查詢1000條記錄正確、時間正常預置條件HBase運行正??蛻舳诉\行正常測試代碼運行正常測試步驟1、客戶端向HBase寫入80億條記錄2、運行測試程序發(fā)送查詢1000條記錄請求:Select(1000個RowKey)3、記錄查詢1000條記錄時長預期結果1、1000條記錄查詢結果正確2、統(tǒng)計1000條記錄查詢時間備注0100億條記錄中查詢1000條記錄項目HBase用例名稱100億條記錄中查詢1000條記錄用例編號HBase-pre-020重要性重要測試目的查詢HBase的100億條記錄中的1000條記錄,查詢1000條記錄正確、時間正常預置條件HBase運行正??蛻舳诉\行正常測試代碼運行正常測試步驟1、客戶端向HBase寫入100億條記錄2、運

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論