YCSB基准性能测试之HBase

官方工具下载链接:

https://github.com/brianfrankcooper/YCSB/releases

官方使用文档:

https://github.com/brianfrankcooper/YCSB/tree/master/hbase2

  1. YCSB workload策略
workloadaread50%,update50%重更新
workloadbread95%,update5%读多写少
workloadcread100%只读
workloaddread95%, insert5%读最近更新:这个 workload 会插入新纪录,越新的纪录读取概率越大
workloadescan95%, insert5%小范围查询:这个 workload 会查询小范围的纪录,而不是单个纪录
workloadfread50%, readmodifywrite50%读取-修改-写入:这个 workload 会读取一个纪录,然后修改这个纪录,最后写回

可通过以下参数修改测试数据的大小

fieldcount:一条记录中的字段数(默认:10)

fieldlength:每个字段的大小(默认:100)

  1. 测试实施

  2. 首先下载与HBase版本对应的工具包。

img

ycsb-hbase20-xxx.tar.gz对应的为HBases2.x版本工具。

  1. 上传工具包到测试集群并解压。

img

  1. 新建conf文件夹,并将hbase配置文件hbase-site.xml放到conf文件夹中。

img

  1. 测试前需要新建hbase表

官方建议使用预分区策略。

hbase(main):001:0> n_splits = 200 # HBase recommends (10 * number of regionservers)
hbase(main):002:0> create 'usertable', 'family', {SPLITS => (1..n_splits).map {|i| "user#{1000+i*(9999-1000)/n_splits}"}}
  1. 创建完表之后,使用ycsb工具加载数据到新创建的表中。

新建 logs文件夹存放测试结果。

进入ycsb目录运行以下语句加载数据:

./bin/ycsb load hbase20 -P workloads/workloada -p table=usertable -p columnfamily=family -p recordcount=64000000 -p operationcount=64000000 -threads 200 -s > logs/load.log

参数解释:

recordcount测试数据集记录总数
operationcount测试过程总的测试条数
threads开启的线程数
  1. 加载完数据就可以使用不同的workload进行性能测试了。
./bin/ycsb.sh run hbase20 -P workloads/workloada -p table=usertable -p columnfamily=family -p operationcount=64000000 -threads 200 -s > logs/a.log

./bin/ycsb.sh run hbase20 -P workloads/workloadb -p table=usertable -p columnfamily=family -p operationcount=64000000 -threads 200 -s > logs/b.log

./bin/ycsb.sh run hbase20 -P workloads/workloadc -p table=usertable -p columnfamily=family -p operationcount=64000000 -threads 200 -s > logs/c.log

./bin/ycsb.sh run hbase20 -P workloads/workloadd -p table=usertable -p columnfamily=family -p operationcount=64000000 -threads 200 -s > logs/d.log

Tips:每天测试前需要使用kinit -kt进行认证,或者在执行是指定keytab文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值