HBase的效能優化和相關測試

2021-08-31 04:23:53 字數 782 閱讀 9389

hbase的寫效率還是很高的,但其隨機讀取效率並不高

可以採取一些優化措施來提高其效能,如:

1. 啟用lzo壓縮,見這裡

2. 增大hbase.regionserver.handler.count數為100

3. 增大hfile.block.cache.size為0.4,提高cache大小

4. 增大hbase.hstore.blockingstorefiles為15

5. 啟用bloomfilter,在hbase0,89中可以設定

6.put時可以設定setautoflush為false,到一定數目後再flushcommits

在14個region server的集群上,新建立乙個lzo壓縮表

測試的put和get的效能如下:

1. put資料:

單執行緒灌入1.4億資料,共花費50分鐘,每秒能達到4萬個,這個效能確實很好了,不過插入的value比較小,只有不到幾十個位元組

多執行緒put,沒有測試,因為單執行緒的效率已經相當高了

2. get資料:

在沒有任何block cache,而且是random read的情況:

單執行緒平均每秒只能到250個左右

6個執行緒平均每秒能達到1100個左右

16個執行緒平均每秒能達到2500個左右

有blockcache(曾經get過對應的row,而且還在cache中)的情況:

單執行緒平均每秒能到3600個左右

6個執行緒平均每秒能達到1.2萬個左右

16個執行緒平均每秒能達到2.5萬個左右

**

Hbase效能優化

1 表的設計 1.1 pre creating regions 預設情況下,在建立hbase表的時候會自動建立乙個region分割槽,當匯入資料的時候,所有的hbase客戶端都向這乙個region寫資料,直到這個region足夠大了才進行切分。一種可以加快批量寫入速度的方法是通過預先建立一些空的re...

Hbase效能優化

以下為使用hbase一段時間的幾個思考,由於在記憶體充足的情況下hbase能提供比較滿意的讀效能,因此寫效能是思考的重點。希望讀者提出不同意見討論 1 autoflush false 2 hbase.hregion.max.filesize hbase中hfile的預設最大值 hbase.hregi...

HBASE效能測試

之前測試過hbase的引數對效能影響,今天的測試主要針對寫吞吐量,通過對比不同客戶端的數量,以及插入量,來看看hbase寫的情況下,大概有多少每秒插入。測試硬體 8vcore,32g記憶體 8臺機器,5個nodemanager region server 大家可能知道每個map,reduce 預設1...