内存选择
Cassandra节点没有最合适的内存配置,内存的大小取决于节点需要处理的数据。一般来说,集群节点至少需要8GB的内存,所部署的服务器服务器至少需要有64GB到256GB的内存。
如果Cassandra节点的内存给的太小,那么节点的memtables
就会越小,这就意味着该Cassandra节点就会在硬盘上生成大量的小SSTable
。查询的时候就会消耗更多的磁盘I/O。对性能影响很大。
所以说,赋给Cassandra节点的内存越大,节点的性能就会越好
。
CPU选择
Cassandra需要处理大量的写入压缩等操作,所以CPU的性能对Cassandra的性能也非常重要。
DataStax建议:16核的服务器是一个好的选择
。
带宽的选择
由于Cassandra是一个分布式的数据库,所以数据的读写和复制对Cassandra的性能都有非常大的影响。
所以网络带宽至少需要1GB或更大。
硬盘的选择
Cassandra何时使用硬盘
- 当Cassandra把数据写入commit log时。
- 当Cassandra把数据从memtables里刷到SSTable数据文件时。
- 当Cassandra定期压缩SSTables时(压缩会临时增大磁盘使用空间,在最坏的情况下,比如压缩策略使用
SizeTierdCompactionStrategy
时,压缩SSTable使用的空间会是SSTable总量的