如何为大型裸机服务器部署调优cassandra

vhmi4jdf  于 2021-06-13  发布在  Cassandra
关注(0)|答案(1)|浏览(335)

我在大型裸机服务器上部署了Cassandra。56核和756 gb ram 20 tb ssd(我知道这是一个反模式,但我没有选择创建虚拟机或任何东西)。它是一个10节点的集群。哪些设置对此类部署很重要。
我读写工作量很大。压缩时间过长,导致读写超时。
我不认为cpu,内存,磁盘,网络是一个瓶颈

4uqofj5v

4uqofj5v1#

所以我对密集节点架构有一句话:“大服务器等于大问题。”
我能从脑子里想一些可能有用的事情。
cassandra.yaml ,请检查这两个设置:

concurrent_compactors: 2
compaction_throughput_mb_per_sec: 16

明确地, concurrent_compactors 是那些可以设置成比例的cpu核心数之一。我不会太高,但也许可以通过增加2倍来测试,看看你是否注意到了什么。此外,利用您的资源,您应该能够设置 compaction_throughput_mb_per_sec 至少到256。好消息是你可以用 nodetool 转瞬即逝,只是为了尝试一下。
请确保针对SSD优化了特定于磁盘的设置:

disk_optimization_strategy: ssd
trickle_fsync: true

确保服务器设置为使用g1gc收集器,并且您可能可以负担32gb左右的大堆。
另外,请阅读amy tobey的cassandra 2.1调优指南。她有很多很好的信息仍然适用于Cassandra3。
不过,亚历克斯是对的。最大的成功在于调整表定义。cassandra的性能更多地与数据模型定义有关。如果这是不正确的,那么任何服务器端“调优”都帮不上什么忙。

相关问题