Cassandra集群在一个节点中失去性能

我有一个运行docker的双节点Cassandra集群。 节点有12个核心和32Gb的RAM。 更多细节:

  • Cassandra版本3.11.0
  • Docker版本17.09
  • 数据库和提交日志保存在不同的卷中。
  • memtable_offheap_space_in_mb:4096
  • concurrent_compactors:4
  • disk_optimization_strategy:旋转
  • concurrent_writes:64
  • concurrent_counter_writes:64
  • compaction_throughput_mb_per_sec:256
  • MAX_HEAP_SIZE = “6G”
  • 压缩策略:TimeWindowCompactionStrategy
  • 其余的保持默认

我设置了第三台机器来执行负载testing,向群集发送大量信息。 我监视吞吐量,我喜欢我所看到的(每个节点每秒消耗大约400条消息),并且这种情况持续数小时。

问题:约。 1天,其中一个节点的吞吐量大幅下降(大约60 / s),而另一个则保持良好状态,这种状态不会改变。 资源使用(例如cpu)也会成比例地下降,这就给出了节点刚刚决定变懒的想法。

在cassandra日志中,常常会看到以下消息:“达到最大内存使用量(512.000MiB),不能分配1.000MiB块”和“写入大分区”,我怀疑这个问题与该问题有关,但是不确定。

我意识到我可能没有提供足够的信息来诊断,但事实是,我没有它。 所以我在跳,这可能是直接的人或他/她经历了类似的过去。

任何帮助或build议是最受欢迎的。 感谢您的关注。

最好的祝福。