您的位置:首页 > 数据库 > Redis

ycsb安装使用方法

2012-06-14 21:05 351 查看
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)。平均潜伏期是越小越好,潜伏期小代表硬盘的读取数据的等待时间短,这就等于具有更高的硬盘数据传输率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息