YCSB080安装与初步使用Word文件下载.docx
- 文档编号:21141810
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:14
- 大小:450.46KB
YCSB080安装与初步使用Word文件下载.docx
《YCSB080安装与初步使用Word文件下载.docx》由会员分享,可在线阅读,更多相关《YCSB080安装与初步使用Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
Apr13,2016
源代码地址:
当前版本对各种数据库的测试情况(TestedDatabases):
Testedsupport
Thefollowingdatastorebindingshavebeenverifiedasworkingasofthisrelease:
∙ApacheAccumulo1.6.0(viaaccumulobinding).
∙ApacheCassandra2.5.5(viacassandra2-cqlbinding).
∙Couchbase4.1(viacouchbasebinding).
∙DynamoDBusingAWSSDK1.10.48(viadynamodbbinding).
∙Elasticsearch2.0.2,2.1.2,2.2.2,2.3.1(viaelasticsearchbinding).
∙ApacheGeode(incubating)1.0.0-incubating.M1(viageodebinding).
∙ApacheHBase1.0.0(CDH5.5.2)(viahbase10bindings).
∙MongoDB1.8.5(asynconly),2.0.9,2.2.7,2.4.14,2.6.12,3.0.11,3.2.4(viamongodbandmongodb-asyncbindings).
∙AmazonS3(vias3binding).
∙Tarantool1.6.6-249,1.6.8,1.7-alpha(viatarantoolbinding).
Supported
∙Aerospike(viaaerospikebinding).
∙ApacheHBase0.9.8(viahbase098binding).
∙ApacheKudu(incubating)(viakudubinding).
∙ApacheSolr5.4.0(viasolrbinding).
∙GoogleCloudDatastore(viagoogledatastorebinding).
∙JDBConMySQL5.1.73(viajdbcbinding).
∙Memcached1.4.4(viamemcachedbinding).
Untested
∙ApacheCassandraversionspriorto2.0(viacassandra-7,cassandra-8,cassandra-10bindings).
∙ApacheCassandraversions3+(viacassandra2-cqlbindings).
∙ApacheHBase(viahbase094binding).
∙HyperTable(viahypertablebinding).
∙Infinispan(viainfinispanandinfinispan-csbindings)
∙Mapkeeper(viamapkeeperbinding)
∙NoSQLDB(vianosqldbbinding)
∙OrientDB2.1.2(viaorientdbbinding).
2YCSB安装
YCSB的编译和安装依赖Maven、JRE、和Python。
2.1Maven下载与安装
1、Maven官网:
官网:
http:
//maven.apache.org/
最新版本:
2015-11-18,Maven3.3.9
下载地址:
2、下载及安装
1)进入opt目录,创建/opt/modules/目录
#cd/opt
#mkdirmodules
#cdmodules/
2)下载Maven,并解压
#wget
#unzipapache-maven-3.3.9-bin.zip
3)追加路径到/etc/profile环境变量中
#vi/etc/profile
exportMAVEN_HOME=/opt/modules/apache-maven-3.3.9
PATH=${MAVEN_HOME}/bin:
$PATH
exportPATH
使环境变量生效
#source/etc/profile
4)使用mvn-version验证安装
安装成功。
5)JAVA安装
Maven需要调用JRE,如果没有安装JDK,需要单独安装JDK。
2.2YCSB下载与安装
1)下载源代码并解压缩
进入/usr/local
#cd/usr/local
#wget
#unzipmaster
解压后的YCSB-master目录:
2)编译
YCSB源代码编译有两种方式
方式一:
全部编译命令:
mvncleanpackage
说明:
编译全部数据库,要下载很多依赖包,时间要很久,不建议采用。
方式二:
只编译一个数据库,如编译mongodb的命令为:
mvn-plcom.yahoo.ycsb:
mongodb-binding-amcleanpackage
#cdYCSB-master/
#mvn-plcom.yahoo.ycsb:
下载无数依赖包之后,出现如下提示,说明YCSB编译成功。
如果编译过程意外中止,可以重新运行编译命令。
我使用mongodb验证,所以只编译了YCSB的mongodb部分,也用了很长时间,中断了几次。
3)其他问题
问题一:
缺少argparse包。
运行YCSB,如果报错如下:
[ERROR]argparsenotfound.Tryinstallingitvia"
pip"
.
报错提示缺少argparse包,让通过PIP方式下载argparse。
argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。
如果服务器已经安装了PIP,可以使用命令pipinstallargparse下载;
如果没有安装pip,有easy_install,可以使用命令easy_installargparse下载。
安装后问题解决。
3YCSB初步使用
3.1YCSB运行命令
命令的格式是:
bin/ycsb[load|run]dbname–Ppath/to/workloadfile–pkey=value
具体例子如:
./bin/ycsbloadmongodb-threads100-Pworkloads/workloada
./bin/ycsbrunmongodb-threads100-Pworkloads/workloada
>
bin/ycsbloadredis-s-Pworkloads/workloada-p"
redis.host=127.0.0.1"
-p"
redis.port=6379"
bin/ycsbrunredis-s-Pworkloads/workloada-p"
-threads128-p"
operationcount=10000"
measurementtype=timeseries"
timeseries.granularity=5000"
用户首先需要用load初始化数据库,然后用run运行负载。
dbname指定了目标数据库。
-P指定负载文件的位置。
-p用来设置一些参数,比如数据库的ip和port。
-threads是模拟的线程数。
还有一个常用的参数是-target,指的是每秒最大操作数,当一秒内到达这个阈值,线程就会休眠1毫秒。
当然,在运行YCSB之前,目标数据库必须是开启的。
测试完成后,YCSB会打印平均/最小/最大延迟等信息。
3.2Workload文件
在YCSB-master/workloads目录下有6个workload文件,主要区别如下表:
文件名
模式
各种操作比例
具体参数
workloada
Updateheavyworkload
read/updateratio:
50/50
readproportion=0.5
updateproportion=0.5
workloadb
Readmostlyworkload
95/5
readproportion=0.95
updateproportion=0.05
workloadc
Readonly
100/0
readproportion=1
updateproportion=0
workloadd
Readlatestworkload
read/update/insert
ratio:
95/0/5
scanproportion=0
insertproportion=0.05
workloade
Shortranges
scan/insertratio:
readproportion=0
scanproportion=0.95
workloadf
Read-modify-write
Read/read-modify-writeratio:
insertproportion=0
readmodifywriteproportion=0.5
Workload文件部分参数意思如下面注释:
mongodb.url=mongodb:
//localhost:
27017#待测试mongo实例的数据库地址
mongodb.database=ycsb#测试时使用的数据库名称
mongodb.writeConcern=normal#写入安全性为常规
recordcount=10000#测试数据集的记录条数
operationcount=10000#测试过程中执行的操作总数
workload=com.yahoo.ycsb.workloads.CoreWorkload#workload实现类
readallfields=true#查询时是否读取记录的所有字段
readproportion=0.5#读操作的百分比
updateproportion=0.5#更新操作的百分比
scanproportion=0#扫描操作的百分比
insertproportion=0#插入操作的百分比
requestdistribution=zipfian#请求分布模式,包括:
Uniform(等概率随机选择记录)、Zipfian(随机选择记录,存在热纪录)和Latest(近期写入的记录是热记录)
3.3运行YCSB
1)创建自己的workload文件
#cpworkloadaworkloadyk01
#viworkloadyk01
添加如下mogodb的设置:
27017
mongodb.database=ycsb
mongodb.writeConcern=normal
保存workloadyk01文件
2)运行YCSBload
#cd/usr/local/YCSB-master/
#./bin/ycsbloadmongodb-threads100-Pworkloads/workloadyk01
运行成功后显示:
说明如下:
[OVERALL],RunTime(ms),720.0//数据加载所用时间:
0.7秒
[OVERALL],Throughput(ops/sec),1388.888888888889//加载操作的吞吐量,
平均并发量每秒1388条
[TOTAL_GCs],Count,2.0
[CLEANUP],Operations,100.0//参数中的100个线程
[CLEANUP],AverageLatency(us),450.58//平均响应时间0.45ms
[CLEANUP],MinLatency(us),0.0//最小响应时间0ms
[CLEANUP],MaxLatency(us),45055.0//最大响应时间45ms
[CLEANUP],95thPercentileLatency(us),1.0
[CLEANUP],99thPercentileLatency(us),8.0
[INSERT],Operations,1000.0//执行insert操作的总数,1000
[INSERT],AverageLatency(us),29928.784//每次insert操作的平均延时
29.9ms
[INSERT],MinLatency(us),827.0//所有insert操作的最小延时,0.8ms
[INSERT],MaxLatency(us),351231.0//所有insert操作的最大延时,351ms
[INSERT],95thPercentileLatency(us),203519.0//95%的insert操作延时
在203.5ms以内
[INSERT],99thPercentileLatency(us),329983.0//99%的insert操作延时
在329.9ms以内
[INSERT],Return=OK,1000//成功返回数1000
3)运行YCSBrun
#./bin/ycsbrunmongodb-threads100-Pworkloads/workloadyk01
[OVERALL],RunTime(ms),720.0
[OVERALL],Throughput(ops/sec),1388.888888888889
[TOTAL_GCs],Count,2.0
[READ],Operations,514.0
[READ],AverageLatency(us),27392.836575875488
[READ],MinLatency(us),940.0
[READ],MaxLatency(us),340991.0
[READ],95thPercentileLatency(us),169087.0
[READ],99thPercentileLatency(us),272895.0
[READ],Return=OK,514
[CLEANUP],Operations,100.0
[CLEANUP],AverageLatency(us),456.31
[CLEANUP],MinLatency(us),0.0
[CLEANUP],MaxLatency(us),45631.0
[CLEANUP],99thPercentileLatency(us),9.0
[UPDATE],Operations,486.0
[UPDATE],AverageLatency(us),31491.29012345679
[UPDATE],MinLatency(us),1027.0
[UPDATE],MaxLatency(us),331775.0
[UPDATE],95thPercentileLatency(us),189183.0
[UPDATE],99thPercentileLatency(us),288767.0
[UPDATE],Return=OK,486
3.4查看MongoDB中的数据情况
打开mongoshell
#/usr/local/mongodb/mongodb-3.2.4/bin/mongo
showdbs
local0.000GB
ycsb0.002GB
useycsb
switchedtodbycsb
showcollections
usertable
db.usertable.count()
1000
可以看到在usertable数据集合里面有1000条数据,是YCSB插入的。
如果再次运行YCSBload,需要删除mongodb中的usertable数据集合,否则会报[INSERT-FAILED]错。
删除mongodb中的usertable数据集合语句如下:
db.dropDatabase()
{"
dropped"
:
"
ycsb"
"
ok"
1}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- YCSB080 安装 初步 使用