您的位置:首页 > 其它

HBase入库性能问题

2011-04-13 11:05 225 查看
这个文档置顶很久了,还是写点东西吧。

HBase这个东西的入库速度说实在的,在多列族的情况下表现很一般,实在是不值得提。

具体的原因是由于多列族在hbase的写入机制决定的,有兴趣的可以在网上找找资料,这里我只说单列族的情况下的我的测试结果:

集群的规模为9(S)+1(M)+3(C)

16G内存

8核CPU

千兆网络

8块7200转的SATA硬盘

不做raid

Client方式写入:

单个Slave的写入速度约为8.3MB/s

整个集群的写入速度约为83MB/s

BulkLoad模式写入:

整个集群(不算Client,就是9+1)的写入速度(包含了创建HFile时间)约为160MB/s

这里需要说明一下:

1、我在写入的时候有很高的硬盘I/O Wait,最高达到了300ms(一般在12ms-15ms之间是正常的),这个和我当前使用的硬件有直接关系(没有更好的,只能这样了)。

2、关于BulkLoad在增量写表的过程中,性能表现及其难看,不建议采用。只是适合空表情况下数据导入。

3、对于Client的写入模式,如果做了Secondary Index,很遗憾,写入的速度也会下降,一般来说如果增加3个索引,整个集群的写入速度会下降到40MB/s。

4、如何提升速度?一般来说除了解决第一条硬盘I/O Wait的问题外,可通过提升单机内存以及增加单机硬盘数量。这里我还未做过测试。当然,增加Slave也是可以的。

5、最后需要注意一下,在设定Region块的边界的时候尽量符合数据的实际情况,做到均匀的散列,这样可以保证数据写入时所有Slave的所有硬盘都在转。

6、还是那句话,希望有过相关测试的朋友能够指出我当前不足,提供更高的提升方式,欢迎邮件联系dajuezhao@gmail.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: