我想调整 Cassandra 以适应细行(5-50 列)的重读场景。这个想法是使用行缓存,并启用键缓存以防万一 - 当数据对于行缓存来说太大时。
我有双 Intel Xeon 服务器和 24GB RAM(3 个环,两个数据中心 - 总共提供 6 台机器)
这些是我对默认配置所做的更改:
cassandra-env.sh
#JVM_OPTS="$JVM_OPTS -ea"
MAX_HEAP_SIZE="6G"
HEAP_NEWSIZE="500M"
cassandra.yaml
# do not persist caches to disk
key_cache_save_period: 0
row_cache_save_period: 0
key_cache_size_in_mb: 512
row_cache_size_in_mb: 14336
row_cache_provider: SerializingCacheProvider
它将 6GB 专用于 Cassandra JVM,0.5GB 用于键缓存(在 6GB 堆中),14GB 用于作为堆外的行缓存。操作系统仍然有 4GB 应该足够了,因为只运行一个 JVM 进程并且它应该有最大 2GB 的开销。
这个设置是最优的吗?有什么提示吗?
谢谢, Maciej