YCSB基础知识及HBase性能测试

YCSB是雅虎开源的NoSQL测试工具,本篇以对HBase的调优测试为例介绍其运行流程。

一、准备工作

下载安装: YCSB提供编译后的安装文件,只要下载安装包解压就好。
踩过的坑:
(1) 目前最新的版本为0.11.0。但是我在使用的过程中使用官网推荐的两种方法均不能正常使用:

  • 直接下载安装包,解压过程中有文件损坏,文件不完整
  • 下载源码包用mvn clean package自编译时,进行到83%之后便不再变化

解决办法:转而使用上一个稳定版本0.10.0。这里给出YCSB各个历史版本的下载索引

(2) 网上很多给出的ycsb的用例都是较早版本的,新版本的命令行参数中数据库对应的参数不再是hbase而是hbase094或者hbase098或者hbase10。分别对应测试数据库版本为0.98.x, 0.98.x, 1.0.x。我的hbase版本是1.2.2,显然不符合以上版本要求

解决办法:命令行使用hbase10,同时将$HBASE_HOME/lib目录下的所有文件拷贝到$YCSB_HOME/hbase10-binding/lib中

二、初探

2.1. 安装后的YCSB目录结构如下:

所有文件可以分为以下几种类型:

  • bin,logs,lib,LICENSENSE.txt
    是一般软件安装后都有的,作用不赘述
  • 红框中的目录:
    命名规则均为NOSQL数据库名+’-binding’后缀。这些目录也即表示了YCSB支持的所有的NOSQL数据库类型(当然你也可以按照规范加入新的数据库类型)。每个bindings目录内部都有lib子目录,用于存放YCSB对访问这些数据库所需要的一些jar包依赖。这也是之前提到的我的hbase版本是1.2.2时的,将$HBASE_HOME/lib目录下的所有jar包拷贝到$YCSB_HOME/hbase10-binding/lib中原因。这其实是一种偷懒的做法。另一种做法可以是为hbase1.2.2定制自己的访问接口(有时间再写这部分)。
  • workloads目录:
    里面包含一些压力测试的场景文件。YCSB自带了6中压力测试场景,文件和相应场景的对应关系如下:
    • workloada: 读写均衡型,50%/50% Reads/Writes
    • workloadb: 读多写少型,95%/5% Reads / Writes
    • workloadc:只读型,100% Reads
    • workloadd:读最近写入记录型
    • workloade:扫描小区间型
2.1. workload文件说明:

这里给出文件workloada的内容,看下其内容如下:

  • recordcound 是YCSB load(加载元数据)命令的参数,默认值1000表示默认加载的记录条数,可以在命令行显示修改该值(后面介绍)。
  • Operationcount 是YCSB run(运行压力测试)命令的参数,默认值1000表示默认选取数据库中的1000条数据进行压力测试。对于workloada这种测试场景,就意味着读数据在500左右,写数据也在50
  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值