当前位置: 首页 > 工具软件 > YCSB > 使用案例 >

ycsb安装使用方法

邓越泽
2023-12-01
ycsb安装使用方法:
下载tar包,用tar -xfvz ycsb-0.1.4.tar.gz 解压缩后,cd 到 ycsb/bin 目录,用./ycsb可以查看命令格式
Usage: ./ycsb command database [options]


Commands:
    load          Execute the load phase
    run           Execute the transaction phase
    shell         Interactive mode


Databases:
    basic         https://github.com/brianfrankcooper/YCSB/tree/master/basic
    cassandra-10  https://github.com/brianfrankcooper/YCSB/tree/master/cassandra
    cassandra-7   https://github.com/brianfrankcooper/YCSB/tree/master/cassandra
    cassandra-8   https://github.com/brianfrankcooper/YCSB/tree/master/cassandra
    gemfire       https://github.com/brianfrankcooper/YCSB/tree/master/gemfire
    hbase         https://github.com/brianfrankcooper/YCSB/tree/master/hbase
    infinispan    https://github.com/brianfrankcooper/YCSB/tree/master/infinispan
    jdbc          https://github.com/brianfrankcooper/YCSB/tree/master/jdbc
    mapkeeper     https://github.com/brianfrankcooper/YCSB/tree/master/mapkeeper
    mongodb       https://github.com/brianfrankcooper/YCSB/tree/master/mongodb
    nosqldb       https://github.com/brianfrankcooper/YCSB/tree/master/nosqldb
    redis         https://github.com/brianfrankcooper/YCSB/tree/master/redis
    voldemort     https://github.com/brianfrankcooper/YCSB/tree/master/voldemort


Options:
    -P file       Specify workload file
    -p key=value  Override workload property
    -s            Print status to stderr
    -target n     Target ops/sec (default: unthrottled)
    -threads n    Number of client threads (default: 1)


Workload Files:
    There are various predefined workloads under workloads/ directory.
    See https://github.com/brianfrankcooper/YCSB/wiki/Core-Properties
    for the list of workload properties.
配置cassandra,创建keyspace usertable 以及column family data
将cassandra lib目录下的jar文件放到ycsb  cassandra—binding 目录下,
使用命令./ycsb run cassandra-10 -p hosts=127.0.0.1 -P /home/thinkpad/ycsb-0.1.4/workloads/workloadMy -s -threads 10
执行script -q tty.log后,就开始记录终端的输入输出信息,结束的时候按ctrl+D即可得到终端的内容文件tty.log
最后是配置好workload文件,其各项的意思论文中有详细描述。
1.
配置数据库环境。在每个测试开始之前,需要对相应的数据库进行初始配置,
比如创建相应的表。
本文中主要针对 Cassandra 进行测试,
在测试之前需要进行
的配置工作主要包括:创建一个名为“usertable”
,包含 ColumnFamily“data”
的 keyspace;将相应的 Cassandra 相关的 jar 包加载 classpath 中;并且在运行的
时候指定 Cassandra 的 hosts,这是通过命令参数中的-p 参数指定的,若有多个
host,则每个之间用逗号隔开7,形式为-p hosts=host1,host2。
2.
选择对应的 DB 接口。 的选择是通过命令参数中的第二个参数指定的,
DB
在本
测试中采用 cassandra-10。
3.
选择对应的 workload。Workload 通过命令参数中的-P 指定,然后之后接上相应
的 workload 文件。
4.
相应的运行时参数。-s,表示打印统计信息,默认每 10 秒统计一次 OPS 及平均
操作延迟;-threads 100,表示同时启动 100 个线程。
5.
载入\执行 workload。
是载入还是执行 workload 通过命令参数中的第一个参数指
定,load 表示载入,run 表示执行。
Workload 的定制通过文件的形式完成,其文件格式如下所示:
workload=com.yahoo.ycsb.workloads.CoreWorkload
readallfields=false
readproportion=0.5
updateproportion=0.5
scanproportion=0
insertproportion=0
requestdistribution=zipfian
fieldcount 表示每条数据中的字段数,默认为 10;
fieldlength 表示每个字段的值的长度,默认为 100;
readallfields 域用来标识是否读取所有的所有的字段,取值有 ture 或 false;
readproportion,
updateproportion,
scanproportion,
insertproportion 分别表示该 workload
中读、更新、扫描和插入操作占总操作的百分比,这四个值的和为 1;
requestdistribution 表示数据的分布情况,当前支持 uniform,zipfian 和 latest,默认
为 uniform;
maxscanlength 域主要为扫描操作定义,定义了最大扫描的记录数量,默认为 1000;
scanlengthdistribution 域也是为扫描操作定义的,为每次扫描的长度定义相应的分
布,默认是 uniform;
insertorder 域主要分两种 ordered 和 hashed,默认为 hashed;
operationcount 总共的 operation 数量;
maxexecutiontime 为该 workload 定义了最长的执行时间,单位为 s。
AverageLatency(平均潜伏期)平均潜伏期(average latency):指当磁头移动到数据所在的磁道后,然后等待所要的数据块继续转动(半圈或多些、少些)到磁头下的时间,单位为毫秒(ms)。平均潜伏期是越小越好,潜伏期小代表硬盘的读取数据的等待时间短,这就等于具有更高的硬盘数据传输率。






 类似资料: