LeveledCompactionStrategy:调整sstable_size_in_mb有什么影响?

时间:2019-05-15 09:40:11

标签: cassandra datastax datastax-enterprise cassandra-3.0

为提高读取性能,我尝试使用 LCS 减少基本SSTable,因此,如某些文章所建议的,我将 sstable_size_in_mb 设置为 1280MB ,它指出 160MB 的默认值是很久以前由Cassandra核心团队选择的,目前它是在一个只有2GB RAM的旧服务器上。但是,我担心的是暗示值更高 sstable_size_in_mb

我了解的是LCS会定期压缩L0中的所有sstable和L1中的所有sstable,然后替换L1的全部内容。因此,每次更换L1时, sstable_size_in_mb 的值越高,CPU / RAM的硬件要求和写入放大率就可能越高。实际上,如果 sstable_size_in_mb = 1280MB,那么每次必须将L1中的10个表(10个表)与所有L0表合并。即使替换的SSTable似乎较低(一个L1 SSTable与10个L2 SSTable合并,然后替换那10个L2 SSTable),也可能在更高级别上有影响。

问题:

  1. 具有更高的 sstabletable_size_in_mb 值可以通过减少CQL表中涉及的SSTable的数量来提高读取性能。但是, sstable_size_in_mb 具有如此高的值(如1280MB)还有哪些其他含义?

  2. 如果值更高,是否有任何相应的配置要调优(Garbadge Collector,块缓存...),以便为压缩那些较​​大的SSTable并具有较少的GC活动提供更好的性能?

    < / li>
  3. 更主观的问题,您在部署中使用的 sstable_size_in_mb 的典型值是多少?

0 个答案:

没有答案
相关问题