cassandra cpp driver 2.1 阅读摘要

cpp driver规则:
1. ?占位符不能用在select语句的前面,只能放在where后面。update也是,不能放在=前面,只能放在等号后面。基本上?占位只能用于值,不能用于索引,比如主键和列名。
2. 如果字段在cassendra中的值是null,则返回的output_size是0。
3. 每次执行statement的时候,设置cass_statement_set_consistency,默认是ONE,确定是否需要修改。
4. 设置连接心跳,现在默认是30秒,有些长,要设置为10s。
5. TTL目前不设置,如果需要,在每个statement上设置。
6. retry policy: timeouts, unavailablity?  先使用默认策略。
7. cluster设置io线程数量:cass_cluster_set_num_threads_io,看api文档,说默认值是1,这个要设置下。
8. session的数量:每个keysapce一个session。session是线程安全的,基本一个server创建好一个session即可,多线程使用,准备用单例封装。
9. 现在的环境,只需要获取第一个结果,那么只需要用cass_result_first_row即可,不需要使用结果的迭代器。
10. 连接一个session的时候最好就指定好keyspace,即使用cass_session_connect_keyspace而不是cass_session_connect。
11. log回调是否需要设置?默认是到stderr。
12. batch不会提高检索性能,但是可以减少网络通讯次数,还是推荐使用。我的项目目前没有用到。

编写测试demo,同网段三机构建集群,客户端一个机器上,使用10个线程并发,使用普通硬盘,binlog和data,cachedata都在同一个硬盘上,关闭所有cache,使用text和list<text>类型的column共十个,随机读写,结果如下:
写可以达到10w qps,平均耗时是0.3ms,最大耗时是96ms。读可以达到4w qps,平均耗时是0.8ms,最大耗时是62ms。cpu使用在300%左右。
这比之前同条件下使用的hbase做的压测好太多了,至少不会出现几百毫秒的抖动。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值