Cassandra基础3
cassandra读性能优化:
1、禁用read repair
每次读操作,无论读请求设置读一个节点还是多个节点,cassandra返回给客户端最新的数据后,都会后台对比所有副本的数据并对差异数据进行修复。read repair操作会占用服务器CPU和IO资源,影响读性能。禁用read repair后,cassandra仍可以通过其他方式进行数据一致性检查和修复。
2、使用Leveled compaction,并设定multithreaded_compaction,提高compaction的速度
Leveled compaction能有效减少读操作访问的SSTable数量,有效提升读操作性能。
对于10TB的数据,Leveled compaction最多需要访问7个SSTable。
Leveled compaction代价是会产生更多IO影响服务器性能。
查询性能能提升4-5倍
3、使用压缩
使用压缩,能在内存中存放更多的数据,也能在相同大小SSTable中存放更多数据,使得查询能更快定位数据位置。
查询性能能提升25%--35%
4、调整KeyCache和RowCache
KeyCache:在内存中保存记录的位置,当查询命中Key Cache时,能有效减少一次查询。
RowCache:在内存中保存记录的所有数据,当查询命中Row Cache时,能有效减少2次查询。
当少量数据被频繁访问或查询需要访问所有列时,使用Row Cache能有效提升查询性能,但使用RowCache会影响系统内存。
建议增大KeyCache的内存,减少和避免使用Row Cache。
5、设置JVM Heap的大小
抄自:https://www.cnblogs.com/marysam/archive/2011/12/01/2270494.html
Cassandra基础3的更多相关文章
- Cassandra基础2
========================================================= gossip协议1.点对点(peer to perr)的网络通信协议,节点间地位相同 ...
- Cassandra基础
Apache Cassandra特性 Apache Cassandra由Facebook基于Amazon的Dynamo及其在Google的Bigtable上的数据模型设计开发的面相列的数据库,实现没有 ...
- 使用DataStax Java驱动程序的最佳实践
引言 如果您想开始建立自己的基于Cassandra的Java程序,欢迎! 也许您已经参加过我们精彩的DataStax Academy课程或开发者大会,又或者仔细阅读过Cassandra Java驱动的 ...
- 技术基础 | 监测Apache Cassandra的简明方式——MCAC
点击这里在GitHub上访问我们,以便深入了解DataStax的开源项目--Apache Cassandra指标收集器(Metric Collector for Apache Cassandra, o ...
- 技术基础 | Cassandra RBAC助你打击“虚拟海盗”,让他们对数据“战利品”望而不得
现如今,我们称虚拟世界里的海盗们为"黑客",他们所追寻的战利品就是在你数据库某处的数据. 而我们能够保证你的数据安全的工具之一,就是"Cassandra基于角色的访问 ...
- 技术基础 | Apache Cassandra 4.0基准测试
Apache Cassandra 4.0已经发布了Beta版,这是第一个支持JDK 11及更高JDK版本的Cassandra版本. 时延对于Apache Cassandra用户来说是个显而易见的关 ...
- 技术基础 | 在Apache Cassandra中改变VNodes数量的影响
Apache Cassandra中num_tokens的默认值在4.0版本中将会有变化!这看起来好像只是在CHANGES.txt文件中做了个小小的改动,但实际上这个改动将会对集群的日常运维有着深远的影 ...
- sstable, bigtable,leveldb,cassandra,hbase的lsm基础
先看懂文献1和2 1. 先了解sstable.SSTable: Sorted String Table [2] [10] WiscKey: 类似myisam, key value分离, 根据ssd优 ...
- 技术基础 | 改进版的Apache Cassandra客户端请求路由
最近我们在客户端的驱动程序中引入了一些变更,这些变更会影响传入的请求在Apache Cassandra集群内的分发方式. 新的默认负载均衡算法即将随驱动程序推出,这些算法将有助于缩短长尾延迟,并提 ...
随机推荐
- 《Python》进程之间的通信(IPC)、进程之间的数据共享、进程池
一.进程间通信---队列和管道(multiprocess.Queue.multiprocess.Pipe) 进程间通信:IPC(inter-Process Communication) 1.队列 概念 ...
- table添加行
需求是要实现表格的动态增加与删除,并且保留标题行和首行,找了半天jq插件,没找到合适的,所以自己写了个demo <!DOCTYPE html> <html> <head& ...
- Centos7部署kubernetes集群CA证书创建和分发(二)
1.解压软件包 [root@linux-node1 ~]# cd /usr/local/src/ [root@linux-node1 src]# ls k8s-v1.10.1-manual.zip [ ...
- spring源码研究2 自定义标签实现及使用
1.自定义标签实现及使用参考: http://blog.csdn.net/fighterandknight/article/details/50112701 1)创建一个需要扩展的组件 User.ja ...
- countdownlatch 和 CyclicBarrier 和 Semaphore
cdl用的是aqs,共享的是aqs那个volatile的state,阻塞线程列表用的也是aqs的 cb用的是reentrantlock+condition,当然rel用的也是aqs不过不同的是用的是互 ...
- Python 的基本运算及分析
1题 输出1 2 3 4 5 6 8 9 10 . 方法一: count = 0while count < 10 : count += 1 if count == 7 : continue ...
- kbmMW User authentication
任何信息系统的一个非常重要的部分是能够对用户进行身份验证. kbmMW在这里提供了非常强大的机制. TkbmMWSimpleClient提供简单的用户身份验证机制,您可以在连接到应用程序服务器时传递U ...
- mysql数据库负载均衡
负载均衡集群是有一组相互独立的计算机系统构成,通过常规网络或专用网络进行链接,有路由器衔接在一起,各个节点相互协作,共同负载.均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器. 实 ...
- 性能测试-6.VUG脚本参数化
前言:(原文地址)版面调整 什么是VUGEN action以及作用 参数化 参数化取值(9种组合,在不同场景中如何运用) 一.VUGEN是 LoadRunner 用于开发 Vuser 脚本的主要工具. ...
- 搭建使用create-react-native-app 搭建app开发环境
文档地址 react-native expo 官网 expo 文档 两种创建react-natvie-app的方法 react-native init projectName create-react ...