PhoenixonHBase性能測試報告_第1頁
PhoenixonHBase性能測試報告_第2頁
PhoenixonHBase性能測試報告_第3頁
PhoenixonHBase性能測試報告_第4頁
PhoenixonHBase性能測試報告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、m 軟件版本 硬件環(huán)境 測試工具 測試說明o素材.場景o數(shù)據(jù)寫入oK-V(RowKey)查詢o即席查詢o并發(fā)查詢 結(jié)果與分析o數(shù)據(jù)寫入oK-V(RowKey)查詢o即席查詢o并發(fā)查詢 結(jié)論 測試中發(fā)現(xiàn)的特點”目的測試phoenix引擎在hbase上的數(shù)據(jù)查詢與數(shù)據(jù)寫入的性能,探索phoenix的特性和限制軟件版本phoenix-4.8.0-HBase-1.1HBase-1.1.6硬件環(huán)境四臺配置相同的PC機搭建HBase集群環(huán)境,其中一臺做HMaster,另外三臺做Region部件規(guī)格CPUIntel(R)Core(TM)i7-4820KCPU3.70GHz1U*4CoreMEM64GPhoe

2、nixonHBase性能測試報告測試工具squirrel-sql-3.5.3apache-jmeter-3.0測試說明使用基于jdbc連接的squirrel-sql-3.5.3進行單用戶下的sql性能測試使用基于jdbc連接的apache-jmeter-3.0進行多線程并發(fā)測試素材Reinfo表(測點基礎(chǔ)信息表)列名類型注釋Data_idbigint測點IDDataNamevarchar(300)測點名測點的數(shù)據(jù)類型DataTypevarchar(100)(電壓、電流、有功、無功等)byzidvarchar(300)變電站編號orgidvarchar(300)組織機構(gòu)編號是否主鍵PK應用場景:

3、僅用于存放測點的檔案信息,用于查詢范圍的條件檢索過濾時使用測試數(shù)據(jù)規(guī)模:5千CurrData表(當日數(shù)據(jù)表)列名類型注釋Data_idbigint測點ID時點是否主鍵PKdate_timeDATEdatafloatnamevarchar(300)(2016-09-1900:00,2016-09-1900:01.2016-09-1923:59)測試值測點名(根據(jù)reinfo冗余字段)測點的數(shù)據(jù)類型PKDataTypevarchar(100)(電壓、電流、有功、無功等)(根據(jù)reinfo冗余字段)byzidvarchar(300)變電站編號(根據(jù)reinfo冗余字段)orgidvarchar(30

4、0)組織機構(gòu)編號(根據(jù)reinfo冗余字段)應用場景:按測點編號進行查詢,每次通常查詢1個測點的數(shù)據(jù),但有時也會查詢幾個測點的數(shù)據(jù)測試數(shù)據(jù)規(guī)模:7百萬HisData(歷史數(shù)據(jù)表)列名類型注釋Data_idbigint測點ID時點(2016-09-1900:00,2016-09-1900:01.2016-09-1923:59)測試值測點名(根據(jù)reinfo冗余字段)測點的數(shù)據(jù)類型DataTypevarchar(100)(電壓、電流、有功、無功等)(根據(jù)reinfo冗余字段)byzidvarchar(300)變電站編號(根據(jù)reinfo冗余字段)orgidvarchar(300)組織機構(gòu)編號(根據(jù)

5、reinfo冗余字段)應用場景:按測點編號進行查詢,每次通常查詢1個測點的數(shù)據(jù),但有時也會查詢幾個測點的數(shù)據(jù)測試數(shù)據(jù)規(guī)模:5千萬場景數(shù)據(jù)寫入評估數(shù)據(jù)寫入的性能,分別對數(shù)據(jù)導入和數(shù)據(jù)插入兩種方式評測數(shù)據(jù)導入:將文本文件數(shù)據(jù)裝載至目標表。數(shù)據(jù)插入:使用dml插入數(shù)據(jù)至目標表。評估并發(fā)寫的效率#令示例是否主鍵PKPKdate_timeDATEdatafloatnamevarchar(300)./psql.pyhostname-2-tCURRDATA/home/currdatal.csvCASE2:數(shù)據(jù)插入/*語句示例*/upsertintocurrdataselect*fromcurrdatal;/

6、*currdata1 與 currdata 結(jié)構(gòu)一致*/K-V(RowKey)查詢根據(jù)表的主鍵(PK)進行K-V查詢, 場景主要有: 單測點單日, 單測點多日,多測點單日,多測點多日CASE 1 :單測點單日/*sql 示例*/selectdata_id,date_time,datafromhisdatawheredata_id=104708704221266921anddate_time=TO_DATE(2016-09-20,yyyy-MM-dd)orderbydate_time;CASE 2 :單測點多日/*sql 示例*/selectdata_id,date_time,datafromh

7、isdatawheredata_id=104708704221266921anddate_time=TO_DATE(2016-09-18,yyyy-MM-dd)orderbydata_id,date_time;CASE3:多測點單日/*sql 示例*/selectdata_id,date_time,datafromhisdatawheredata_id=104708704221266921anddata_id=104708704221266931anddate_time=TO_DATE(2016-09-17,yyyy-MM-dd)orderbydata_id,date_time;CASE4:多

8、測點多日/*sql 示例*/selectdata_id,date_time,datafromhisdatawheredata_id=104708704221266921anddata_id=104708704221266930anddate_time=TO_DATE(2016-09-18,yyyy-MM-dd)orderbydata_id,date_time即席查詢模擬OLAP環(huán)境下的adhoc查詢,包括聚集查詢,連接查詢,明細查詢等/*sql 示例*/selectdata_id,date_time,datafromhisdatawherebyzid=0001303andorgid=80000

9、41anddate_time=TO_DATE(2016-09-18,yyyy-MM-dd)orderbydata_id,date_timeCASE 2 :全表聚合查詢/*sql 示例*/selectcount(*)fromhisdataCASE 3 :關(guān)聯(lián)查詢/*sql 示例*/selectcount(*)fromhisDATAc,REINFOrwherec.data_id=r.data_idCASE 4 :帶過濾條件的聚合查詢/*sql 示例*/selectbyzid,orgid,max(data),min(data),avg(data)fromhisdatawhereDATATYPE=無功

10、anddate_time=TO_DATE(2016-09-18,yyyy-MM-dd)groupbybyzid,orgid并發(fā)查詢采用k-v查詢的sql示例作為并發(fā)查詢的測試素材結(jié)果與分析數(shù)據(jù)寫入寫入時長:記錄行720w*1720w*2 720w*4數(shù)據(jù)文件大小350mb*1 350mb*2350mb*4并行度(進程數(shù))124CASE1:數(shù)據(jù)導入201s247s282sCASE2:數(shù)據(jù)插入92s132s158s寫入效率:記錄行720w*1720w*2720w*4數(shù)據(jù)文件大小350mb*1 350mb*2350mb*4并行度(進程數(shù))124CASE1:數(shù)據(jù)導入1.74mb/s2.83mb/s4.

11、96mb/sCASE2:數(shù)據(jù)插入3.8mb/s5.3mb/s8.8mb/s結(jié)果分析:HBase是一個寫很快的系統(tǒng),并行度越高,寫性能越好,筆者測試發(fā)現(xiàn),使用四個并行任務(wù)的情況下, 集群cpu資源使用率不超過30%,磁盤繁忙程度大致在70%90%,所以只要條件允許,建議配置高速磁盤,盡可能地通過并行方式寫入數(shù)據(jù),最大化Hbase的效率K-V(RowKey)查詢根據(jù)電力客戶提供的需求,筆者選用720w的數(shù)據(jù)量作為測試用例,電力客戶擁有5000個測點,每分鐘一條記錄,保留一天的數(shù)據(jù),即:5000*60*24=7200000,5kw即一周的數(shù)據(jù)查詢耗時:數(shù)據(jù)量720w5kwCASE1:單測點單日20m

12、s40msCASE2:單測點多日30ms50msCASE3:多測點單日30ms40msCASE4:多測點多日120ms290ms結(jié)果分析:基于rowkey的查詢效率比較高,這也符合HBase的Key-Value特性,數(shù)據(jù)量越大,查詢效率越好,數(shù)據(jù)量從720w到5kw增長了6X,但查詢耗時僅增加了30%100%。但是, 返回的結(jié)果集應盡量控制在10w以內(nèi), 返回的記錄行越少, 響應時間越快。 以case4為例,修改sql示例中的過濾條件使其分別返回1w,10w,100w結(jié)果集,測試結(jié)果如下:結(jié)果集行數(shù)查詢響應時間1w120ms10w990ms100w9.7s即席查詢即席查詢主要針對非K-V方式的

13、查詢場景,同樣也分為720w和5kw測試查詢耗時:數(shù)據(jù)量720w5kwCASE1:帶過濾條件和排序操作的明細查詢1.8s13.3sCASE2:全表聚合查詢1.7s11.4sCASE3:關(guān)聯(lián)查詢3.3s18.3sCASE4:帶過濾條件的聚合查詢2s16.1s結(jié)果分析:顯然,HBase不適合做BI應用中常見的即席查詢,Phoenix進行非K-V類的即席查詢時,是將所有的目標數(shù)據(jù)先填入內(nèi)存,在內(nèi)存中計算,這樣的話效率主要依賴其CBO(查詢優(yōu)化器)和執(zhí)行計劃。測試用例采用的比較簡單的查詢sql,而生產(chǎn)環(huán)境中的統(tǒng)計查詢sql比上述用例復雜的多得多,所以,HBase只適合KV方式訪問數(shù)據(jù)。并發(fā)查詢根據(jù)HB

14、ase的特點,僅針對KV方式的查詢進行并發(fā)測試,為更好地評估軟件的性能,將采用5kw的歷史數(shù)據(jù)表(Hisdata)作為測試素材。以下是單用戶、10用戶、50用戶、100用戶、200用戶的性能測試結(jié)果單用戶:單位:msavg中位數(shù)90%Line95%Line99%Lineminmax單測點單日1379132226238單測點多日3525374437922430多測點單日2214294519711261多測點多日2922772923124982631325多測點多日與另外三個示例相比,響應時長要高一個量級,因此,單測點單日、單測點多日、多測點單日歸為短查詢的并發(fā)測試場景,多測點多日歸為長查詢的并發(fā)

15、測試場景10用戶并發(fā):(短查詢)avg中位數(shù)90%Line95%Line99%Lineminmaxtps單測點單日9836147456459144593.144456單測點多日2501962607468061318583.171985多測點單日11983126483508335103.24823總體156115260483759148588.79868610用戶并發(fā):(長查詢)avg中位數(shù)90%Line95%Line99%Lineminmaxtps多測點多日23552323273327852869113628711.895303總體23552323273327852869113628711.8

16、95303在10用戶并發(fā)下,長查詢的tps只有1.9不到,而短查詢約為8.8。不僅如此,并發(fā)情況下,單個查詢的響應時間明顯增加,例如:單用戶下測試單測點單日的查詢響應時間均值是13ms,10用戶并發(fā)下達到了98ms,而多測點多日的查詢響應時間則由292ms升至2.4s左右。PS:電力客戶要求的響應時間在35s。50用戶并發(fā):(短查詢)avg中位數(shù)90%Line95%Line99%Lineminmaxtps單測點單日139722486316391564412.71294單測點多日7897789711155123838125812.64191多測點單日2311543807857905379313.

17、00187總體386174827903118015125835.4216450用戶并發(fā):(長查詢)avg中位數(shù)90%Line95%Line99%Lineminmaxtps多測點多日1950180013989711834012515623661266571.86617I總體1950180013989711834012515623661266571.86617|50用戶并發(fā)下長查詢的tps仍然只有1.9不到, 而響應時間均值卻達到19.5s,遠遠超過客戶35s的要求,由此可見,基于測試環(huán)境的軟硬件配置,長查詢的并發(fā)數(shù)在10個左右比較適宜,最大不應超過20。短查詢在50并發(fā)下,均值仍在1s以內(nèi),tp

18、s升至35,說明短查詢場景還可以承受更大的并發(fā)數(shù)。100用戶并發(fā):(短查詢)avg中位數(shù)90%Line95%Line99%Lineminmaxtps單測點單日141693646016301166920.56767單測點多日1603157120032098217469220920.08153多測點單日3703114439829884298920.82119總體70432816761907212911220956.69684200用戶并發(fā):(短查詢)avg中位數(shù)90%Line95%Line99%Lineminmaxtps單測點單日189762441075111422112430.12956單測點多

19、日31563099374239674228258426429.18898多測點單日5194316481149115956116330.91716總體128844532733603409522426483.22006在200用戶并發(fā)下,只有單測點多日的均值超過3s,另外兩個用例的均值仍在1s以內(nèi),tps達到83。理論上講,假如生產(chǎn)環(huán)境中的多日查詢的頻率遠低于單日查詢,那么此并發(fā)數(shù)還可以繼續(xù)增大,限于時間和篇幅,此處不再做進一步的測試。結(jié)果分析:對于短查詢,Phoenix+HBase在4個節(jié)點環(huán)境下可以承受200個并發(fā)的壓力,平均每秒能響應83個請求。而長查詢,并發(fā)數(shù)控制在10個左右較為合適,每秒最多響應1.9個請求。結(jié)論1. HBase是一個寫很快的系統(tǒng),并行寫/分布式寫能充分發(fā)揮集群的計算資源;2. HBase的Key-Value特性決定了基于rowkey或主鍵查詢的效率

溫馨提示

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

最新文檔

評論

0/150

提交評論