我对硬件相关的性能问题有疑问。
我们的cassandra节点有4个核心,内存为2GB,我们遇到了不合理的响应时间(读取平均值为1.5秒,每秒200次)。
然后我们将机器升级到8核,内存为8GB,并立即看到了改进(现在大约300ms)。
但是,服务器分析并未显示任何窥视或额外使用cpu电源。
如何解释?从4核到8核的升级解释了这样的性能提升,即使服务器的CPU使用率似乎没有受到影响吗?
由于
答案 0 :(得分:1)
Cassandra需要更多内存来保存数据库中的数据,以及更快的读取响应时间。
8GB到16GB是我们为Cassandra进程分配的,调整了JVM参数,每个四核有4个CPU,每个节点有16个内核和sata驱动器。
确保提交日志和数据目录位于不同的磁盘上。
答案 1 :(得分:0)
如果您在默认情况下离开了配置参数,则会看到性能部分的改进,因为您的密钥缓存现在更大了。
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
由于您的最大堆大小增加,您的密钥缓存也会增加。