我有一个关于硬件相关性能问题的问题。
我们的 cassandra 节点有 4 个内核和 2GB RAM,我们遭受了不合理的响应时间(200 次调用/秒读取平均为 1.5 秒)。
然后我们将机器升级到 8 核和 8GB RAM,并立即看到了改进(现在大约 300 毫秒)。
但是,服务器分析没有显示任何窥视或额外使用 cpu 功率。
这怎么解释?从 4 核升级到 8 核是否可以解释这样的性能提升,即使看起来服务器的 CPU 使用率没有受到影响?
谢谢
Cassandra 需要更多内存来保存 memtable 中的数据并加快读取响应时间。
8GB 到 16GB 是我们分配给 Cassandra 进程的内存,调整了 JVM 参数,每个四核有 4 个 CPU,因此每个节点有 16 个核心,带有 sata 驱动器。
确保提交日志和数据目录位于不同的磁盘上。
如果您默认保留配置参数,您会看到性能有所提高,部分原因是您的密钥缓存现在更大了。
key_cache_size_in_mb = (min(5% of Heap (in MB), 100MB))
cassandra-env.sh
自动决定给 JVM 多少堆(如果你没有改变它):
set max heap size based on the following
max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB))
calculate 1/2 ram and cap to 1024MB
calculate 1/4 ram and cap to 8192MB
pick the max
由于您的最大堆大小增加了,因此您的密钥缓存也增加了。