YCSB benchmark测试cassandra性能——和web服务器测试性能结果类似-阿里云开发者社区

开发者社区> 桃子红了呐> 正文

YCSB benchmark测试cassandra性能——和web服务器测试性能结果类似

简介:
+关注继续查看

转自:http://www.itdadao.com/articles/c15a531189p0.html http://www.cnblogs.com/bettersky/p/6158172.html

参考 https://github.com/cloudius-systems/osv/wiki/Benchmarking-Cassandra-and-other-NoSQL-databases-with-YCSB

https://github.com/brianfrankcooper/YCSB/tree/master/cassandra  创建 表头

https://gist.github.com/pbailis/3978273  设置field参数 长度和个数

 

在运行测试之前,必须先运行cassrandra客户端手动创建供ycsb使用的数据库和表。

数据库名叫ycsb,表名叫usertable,按照上面的参考进行。

create keyspace ycsb  WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 3 };
USE ycsb;
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);

执行load测试后,可以在客户端使用 select * from usertable 查看插入的数据

 

示例:bin/ycsb load cassandra-cql  -P workloads/workloada -p "hosts=127.0.0.1"  -p operationcount=90 -p recordcount=1000000 -p fieldlength=100 -p fieldcount=1  -threads 10

其中  -threads 10 表示使用10个线程,注意压力测试必须使用多个线程使服务端浸满,这样才可以类比leveldb的db_bench。

 

fieldlength含义:

fieldlength=250
fieldcount=8

 

每个文档大小大约2KB(fieldlength x fieldcount)。

 

如果只用一个线程,那么客服交互将非常耗时。

 

在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

 

最后我运行的测试命令:

ycsb-0.12.0 # ./bin/ycsb load cassandra-cql  -P workloads2/workloada -p "hosts=128.18.104.11"  -threads 20 -s >outLoad.txt













本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6283592.html,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程
一、http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。
832 0
Android官方开发文档Training系列课程中文版:与其它APP交互之从Activity获得结果
原文地址:http://android.xsoftlab.net/training/basics/intents/result.html 启动其它Activity并不是单方向的。
671 0
首届POLARDB数据库性能大赛正式收官 云原生数据库爱好者共探索技术边界
近日,由阿里云发起的首届POLARDB数据库性能大赛正式迎来收官。大赛通过天池平台举行,吸引到来自全球11个国家和地区,1808支队伍,近2000名选手参赛。最终来自众多高等院校、科研单位、互联网企业等不同人员组成的10支队伍从竞争队伍中脱颖而出,并在总决赛中决出了冠亚季军。
5052 0
MongDB查询性能分析——explain 结果详解
MongoDB 提供 db.collection.explain(), cursort.explain() 及 explain 命令获取查询计划及查询计划执行统计信息。 explain 结果将查询计划以阶段树的形式呈现。 每个阶段将其结果(文档或索引键)传递给父节点。 叶节点访问集合或索引。 中间节点操纵由子节点产生的文档或索引键。 根节点是MongoDB从中派生结果集的最后阶段。 阶段操作描述,例:
42 0
4269
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载