使用YCSB对cassandra进行性能测试是比较方便快捷的。
假设电脑必须已经安装java、mvn、python2.7;此外,待测cassandra已经安装,我安装的版本是2.1.5。
下面讲解如何搭建环境和运行简单的测试。
1. 下载编译ycsb cassandra。因为现在使用版本是cassandra2.1.5,我们选择cassandra2。编译命令如下:
mvn -pl com.yahoo.ycsb:cassandra2-binding -am clean package
2. 在cassandra中创建相应的column family(table),其中keyspace可以自定义,但是table不可以(或者说我还没发现怎么更改,请指教)。cql命令如下:
create keyspace testmr WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 3 };
USE testmr;
create table usertable (
y_id varchar primary key,
field0 varchar,
field1 varchar,
field2 varchar,
field3 varchar,
field4 varchar,
field5 varchar,
field6 varchar,
field7 varchar,
field8 varchar,
field9 varchar
);
3. 根据官方的workloada,创建如下workload文件:
hosts=172.31.1.158
cassandra.keyspace=testmr
cassandra.username=cloud
cassandra.password=cloud
recordcount=100000
operationcount=100000
workload=com.yahoo.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=0.5
updateproportion=0.5
scanproportion=0
insertproportion=0
requestdistribution=zipfian
4. 执行ycsb
首先准备数据,执行
python27 ./bin/ycsb load cassandra2-cql -P workloada -s
其次进行测试:
python27 ./bin/ycsb run cassandra2-cql -P workloada -s