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,如需转载请自行联系原作者


相关文章
|
5天前
|
设计模式 测试技术 持续交付
深入白盒测试:提升软件质量与性能的关键策略
【4月更文挑战第20天】 在软件开发的复杂世界中,确保产品的质量和性能始终是至关重要的任务。白盒测试,作为软件测试领域的重要分支,提供了对程序内部结构和逻辑的深入分析手段。本文将探讨如何通过有效的白盒测试策略来优化软件性能,减少缺陷,并最终提高用户满意度。通过剖析代码检查、单元测试、集成测试等白盒测试技术,我们将了解这些方法如何揭示潜在的问题点,并为改进提供方向。
|
1月前
|
安全 测试技术
BOSHIDA DC电源模块的安全性能评估与测试方法
BOSHIDA DC电源模块的安全性能评估与测试方法
 BOSHIDA DC电源模块的安全性能评估与测试方法
|
3天前
|
XML Web App开发 测试技术
python的Web自动化测试
【4月更文挑战第16天】Python在Web自动化测试中广泛应用,借助Selenium(支持多浏览器交互)、BeautifulSoup(解析HTML/XML)、Requests(发送HTTP请求)和Unittest(测试框架)等工具。测试步骤包括环境搭建、编写测试用例、初始化浏览器、访问页面、操作元素、验证结果、关闭浏览器及运行报告。注意浏览器兼容性、动态内容处理和错误处理。这些组合能提升测试效率和质量。
11 6
|
8天前
|
缓存 负载均衡 数据库
优化后端性能:提升Web应用响应速度的关键策略
在当今数字化时代,Web应用的性能对于用户体验至关重要。本文探讨了如何通过优化后端架构和技术手段,提升Web应用的响应速度。从数据库优化、缓存机制到异步处理等多个方面进行了深入分析,并提出了一系列实用的优化策略,以帮助开发者更好地应对日益增长的用户访问量和复杂的业务需求。
12 1
|
19天前
|
测试技术
深入白盒测试:提升软件质量与性能的关键策略
【4月更文挑战第6天】 在软件开发的生命周期中,确保代码质量和性能始终是至关重要的环节。白盒测试作为一种深入代码内部的测试方法,提供了对程序结构、逻辑路径和内部功能的全面评估。本文将探讨白盒测试的核心概念、技术及其在提升软件质量与性能方面的应用。通过分析控制流测试、数据流测试和静态代码分析等关键技术,我们揭示了白盒测试如何有效发现潜在缺陷,优化代码效率,并增强系统稳定性。
|
1月前
|
缓存 监控 应用服务中间件
如何使用负载均衡器提升Python Web应用的性能?
【2月更文挑战第27天】【2月更文挑战第94篇】如何使用负载均衡器提升Python Web应用的性能?
|
1月前
|
缓存 监控 前端开发
如何优化 Python WEB 应用程序的性能?
【2月更文挑战第27天】【2月更文挑战第93篇】如何优化 Python WEB 应用程序的性能?
|
1月前
|
安全 测试技术 API
请描述在 Python WEB 开发中常用的测试方法。
请描述在 Python WEB 开发中常用的测试方法。
18 0
|
1月前
|
弹性计算 分布式计算 DataWorks
DataWorks报错问题之ecs自建数据库连通性测试报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
算法 Java 测试技术
性能工具之代码级性能测试工具ContiPerf
【2月更文挑战第23天】性能工具之代码级性能测试工具ContiPerf
269 1
性能工具之代码级性能测试工具ContiPerf

热门文章

最新文章