如何在hbase中提高大(1000万条记录)小(平均240字节)记录大小的随机get操作的性能?

ruarlubt  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(370)

我有一个带有四列族(共10列)的hbase表,主键是一个固定的10bytes id,平均行大小是240bytes。
当我在hbase中用100万行测试random get操作时,它得到1000+行/s,平均0.25mb/s。
但是当我用1000万行测试同一个操作时,它得到160行/秒,0.04mb/秒。在阅读了一些资料之后,我将hbase\u heapsize从1g增加到5g,之后我得到了320rows/s,0.08mb/s(cache-hit-raito是87%),但是它的速度仍然远远低于100万testsuite中的速度。
它有什么方法来提高性能吗?谢谢。

afdcj2ne

afdcj2ne1#

对于随机获取:
减小块大小,不超过64kb,32k应该就好了
在表的行级别添加bloom过滤器
通过将low region file max设置为1go或更低,将表拆分为多个区域,并预拆分表(按国家、商家或任何您想要的方式)
激活内存中的
使用快速压缩编解码器(lzo或snappy都很好)
在你的客户端使用一个桌面池
使用memcache(…)
享受;)

相关问题