如何强制轻微压缩开始

时间:2013-06-16 09:49:08

标签: database performance cassandra

在Cassandra数据库中何时触发次要压缩?似乎无法手动启动它。

我尝试了以下内容: 1.创建了一个列gc_grace_seconds = 0且tombstone_compaction_interval = 1的列族(我猜它是以秒为单位) 2.写入然后在一行中删除1000次1000次记录(总计1000000次写入和删除),因此没有记录和1000000个墓碑。 3.读取延迟从~8 ms上升到~400 ms(慢〜50倍)。

我预计会进行一次小型压缩,但似乎没有发生。如果我强制进行主要压缩,我会再次获得8毫秒的延迟。

如何强制次要压缩启动?

我使用Cassandra 1.2.5

1 个答案:

答案 0 :(得分:1)

在您的一个写入/删除阶段之间,发出“nodetool flush”以创建几个不同的SSTable。压缩只有在存在min_compaction_threshold SSTables后才有资格。

请参阅http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/configuration/configStorage_r.html#reference_ds_zyq_zmz_1k__min_compaction_threshold

使用上面已有的设置播放min_compaction_threshold,看看会发生什么。这应该会将您的结果更改为更符合您的预期。