Hbase性能测试2及预分区

上次通过Hbase自带测试工具,对比不同客户端数量及数据量的插入性能, 由于上次测试对表没有预分区,所以补一个预分区测试,对比一下在分区和不分区的情况下,有什么区别。

hbase的线性扩展得益于多region同时工作,region越多,性能相比肯定越好,请求发到master之后,由master选取相关region server给客户端,之后就是客户端和region server直接通信,Master的工作相比少很多,负载也不会很大,这是HBASE线性扩展的根本。  但是前提是你的rowkey能随机同时随机分发到多台region server,否者HBASE底层提供负载均衡就白搭了。 预先分区的好处在于2个方面, 减少分裂,另外就是负载均衡,因为预先分区了,每个key落入不同的region 自然就负载均衡了。

测试命令:

time hbase org.apache.Hadoop.hbase.PerformanceEvaluation --rows=1000000 sequentialWrite 10


预先分区表:

create 'TestTable',{SPLITS_FILE => 'split.txt'}, {NAME => 'info'}


[hdfs@namenode02 ~]$ cat split.txt 
0000000000000000000100000
0000000000000000000150000
0000000000000000000200000
0000000000000000000250000
0000000000000000000300000
0000000000000000000400000
0000000000000000000500000
0000000000000000000600000
0000000000000000000700000
0000000000000000000800000
0000000000000000000900000
0000000000000000001000000
0000000000000000002000000
0000000000000000003000000
0000000000000000004000000
0000000000000000005000000
0000000000000000006000000
0000000000000000007000000
0000000000000000008000000
0000000000000000009000000
0000000000000000010000000


预先分区测试:


                Row count=10000000
        File Input Format Counters 
                Bytes Read=455815
        File Output Format Counters 
                Bytes Written=1331


real    1m24.666s
user    0m21.816s
sys     0m2.465s


无预先分区测试:


                Row count=10000000
        File Input Format Counters 
                Bytes Read=455815
        File Output Format Counters 
                Bytes Written=1385


real    2m22.463s
user    0m20.386s
sys     0m2.168s


从上面数据可以看到,预分区比不分区要快将近1分钟,为了保证测试的准确性,每个测试我基本跑了3次。  


使用任何数据库,不管是DBRMS还是NO-SQL,我们都尽量要避免其软肋,每个数据库都有其实现原理,避开弱点,减少问题出现的概率。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17036462/viewspace-2141521/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/17036462/viewspace-2141521/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值