zoukankan      html  css  js  c++  java
  • 使用ycsb测试cassandra

    参考 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参数 长度和个数

    启动和 redis类似,只不过,参数不同。

    比如redis指定主机的参数是 -p "redis.host=127.0.0.1" 

    而cassandra 是 -p hosts=127.0.0.1

    这里hosts为什么是复数,应该是因为cassandra可以有多个服务节点。

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

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

    create keyspace ycsb  WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 1 };
    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);
    create table usertable (
        y_id varchar primary key,
        field0 varchar);

    这样在load时需要指定 -p fieldcount=1
    ALTER TABLE usertable WITH COMPRESSION = {'sstable_compression': ''}; 

     

     
     

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

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

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

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

    如果出现错误,尝试使用cassandra2

    bin/ycsb load cassandra2-cql  -P workloads/workloadc -p "hosts=127.0.0.1"  -p operationcount=90 -p recordcount=1000000 -p fieldlength=100 -p fieldcount=1  -threads 28

    注意:

    如果出现类似

     File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
        raise child_exception
    OSError: [Errno 2] No such file or directory

    的错误,网上一般说是java没装或jdk版本配置不对。但其实可能是maven没装。

    直接运行提示的 mvn 命令就知道了。

  • 相关阅读:
    mongodbwindows安装过程附带安装包百度云
    PostgreSQL数据库中跨库访问解决方案
    PostgreSQL 同步复制(1master+2standby)
    PostgreSQL数据导出导入COPY
    CentOS 6.5安装PostgreSQL9.3.5时报错: jade: Command not found
    postgresql常用命令
    EasyUI Messager 消息框
    js验证如何限制文本框只能输入数字
    推荐几个在线PDF转化成Word网站
    程序员高效编程的14点建议
  • 原文地址:https://www.cnblogs.com/bettersky/p/6158172.html
Copyright © 2011-2022 走看看