我有一个由6个EC2(带有实例存储的i3.2xlarge)节点组成的Cassandra群集,该群集已从3个节点扩展。每次节点加入时,它将负责大约600GB的数据。所有非系统密钥空间都使用NetworkTopologyStrategy,具有1个DC和3个机架(AZ),复制因子为3。
数据流的速度比可用的网络带宽(我已经使用nc验证)和主机流的数量(通常为1)慢10倍。我的问题:是什么原因造成的,我如何才能进一步了解正在放缓的原因?这是否与其他人的经验相符?
我希望我们现在可以通过迁移到更多,更小的节点的拓扑来改进,但是由于成本因素,已经排除了这一点。主要担心是我们没有意识到瓶颈。
我通常看到:
- 一开始网络吞吐量最高(在加入节点上每小时20-30MBps)
- 然后减速到to流(0-5MBps)
- 在随后的一段时间中,吞吐量会增加几个小时(10-20MBps)
- 加入的总时间为12-30小时
我看过:
- 流吞吐量-高(800Mbps)/两端不受限制
- 压实-两端压实度低;尝试低/高/无限制的吞吐量,没有明显的影响
- OS / Java指标-CPU,磁盘IO,网络IO,GC活动,内存使用率都很低
- Cassandra利用率-每台主机每秒150次读取,平均150次写入。流的性能不会随着利用率的变化而改变
- 其他集群-我们拥有其他大小不同但配置相似的集群,我们看到了类似的模式(总吞吐量随时间降低,远低于带宽,没有明显的瓶颈),但总体吞吐量更高,完成时间更快。< / li>
群集位于3.11.2。