【问题标题】:What is the impact of increase in no of column families of cassandra on heap utilization?增加 cassandra 的列族数量对堆利用率有什么影响?
【发布时间】:2012-06-24 11:24:08
【问题描述】:

我们正在使用 cassandra-1.1。

出于某种优化目的,我们决定在我们的键空间中增加列族的数量。

对堆利用率有影响吗?

Cassandra 有没有可能内存不足?

【问题讨论】:

    标签: performance jvm cassandra


    【解决方案1】:

    根据 Cassandra Wiki,“每个节点”消耗的堆大小定义为: memtable_throughput_in_mb * 3 * 热 CF 数量 + 1G + 内部缓存 (参考:MemtableThresholds

    所以回答第一个问题: 对堆利用率有影响吗? 是的。

    关于 q2,我坚信最新版本不会出现 OOM。正如您提到的 Cassandra 1.1 版,每个 CF 配置 memtable_throughput_in_mb 被全局内存配置替换 - memtable_total_space_in_mb。这个配置相当于 -memtable_throughput_in_mb * 热 CF 的数量,在上面提到的公式中。这确保了 JVM 堆大小不会随着 CF 的数量而扩展,并且始终受到全局配置的保护。

    【讨论】:

      【解决方案2】:

      Cassandra 的最新版本为每个列族在堆上分配了至少 1MB 的空间,因此您可以将其视为堆消耗的下限。布隆过滤器占用堆空间的方式不一定取决于您使用列族的程度。

      您是说从 5 个列族增加到 10 个列族吗?还是10到1000?您当然可以用完 10 或 1000 个列族的堆空间,这在很大程度上取决于您插入数据的速率。

      【讨论】:

        猜你喜欢
        • 2018-04-20
        • 1970-01-01
        • 2013-06-08
        • 2021-03-15
        • 2015-01-20
        • 1970-01-01
        • 2010-11-17
        • 2020-12-25
        • 2018-03-21
        相关资源
        最近更新 更多