Yahoo! Cloud Serving Benchmark (YCSB) 是 Yahoo 公司的一个用来对进行基础测试的工具。目标是促进新一代云数据服务系统的性能比较。目前支持对:Cassandra,、HBase、mongodb、redis和简单的分片式MySQL执行测试,制订了一套核心基准测试和结果报告。详见https://github.com/brianfrankcooper/YCSB/wiki。
最近在学些该工具,计划对以上甚至更多数据库进行测试。当前Cassandra版本已经到了1.0之后版本,YCSB自带的版本仅仅支持0.7版本,好在源代码有支持1.0.6的客户端,需要重新进行编译。这侧测试版本为cassandra1.0.6。
具体操作步骤如下:
1.下载ycsb0.1.4源代码
下载地址为
2.下载maven对代码进行编译。
在cassandra\src\main\java\com\yahoo\ycsb\db目录会看到有三个源代码,请删除其余两个版本,仅仅保留CassandraClient10.java文件
然后在运行mvn clean package。maven需要联网环境才可以编译,因为编译的时候会自动下载相关库,编译时间较长,请耐心等待。
3.替换系统自带的客户端
编译完毕后,在\cassandra\target目录找到cassandra-binding-0.1.4.jar文件,将其替换\ycsb-0.1.4\Cassandra-binding\lib中对应文件
4.连接Cassandra,创建名为usertable的keyspace,创建名为data的column family
5.在$PATH中加入cassandra程序文件的lib文件夹
6.载入测试数据
执行如下命令,架设cassandra的服务器为192.168.0.1
./bin/ycsb load cassandra-10 -P workloads/workloada -p hosts=192.168.0.1 -p columnfamily=data -p recordcount=10000 -s > load.dat
7.运行测试数据
执行下面命令
./bin/ycsb run cassandra-10 -P workloads/workloada -p hosts=192.168.0.1 -p columnfamily=data -p recordcount=10000 -s > run.dat8.查看测试结果
vim run.dat
为了方便进行测试,附上编译后的lib文件
和cassandra 1.0.6的下载地址,如有疑问,欢迎留言。