• 使用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 命令就知道了。

  • 相关阅读:
    金蝶k3 显示BOS序时簿并返回选中的值
    金蝶K3bos插件操作另一张单据
    H2.64的远程回放--开篇
    监控外网访问的几种方式
    ilbc编解码
    windows系统上安装与使用Android NDK r5 (转)
    安卓与PC网络对接实现视频实时播放
    WDR7500 花生壳问题
    要确保任何一次员工的晋升都符合公司的利益
    关于“部门建设”
  • 原文地址:https://www.cnblogs.com/bettersky/p/6158172.html
Copyright © 2020-2023  润新知