3

在我们的集群中,我们有一个 columnfamiliy,它的键是静态的,并且它的列有许多插入和删除,就像一个反向索引。随着时间的推移,具有多列的键的读取延迟会增加,现在,它会因超时而中断。

我们使用默认计数为 100 个的 ColumnSliceIterator,从 Min 到 Max Characters 进行切片。只有在分页数小于 5 时才有效。

我们认为 tumbstones 列可能会导致问题,因此,我们减少了 gc_grace_seconds 并执行了许多修复,但没有任何变化。

任何的想法?

4

1 回答 1

3

是的,墓碑绝对会导致这种情况。

您在减少 gcgs 方面走在正确的轨道上,但丢弃墓碑的关键是压实。您应该考虑切换到 Leveled Compaction,它更积极地将行合并在一起:http ://www.datastax.com/dev/blog/when-to-use-leveled-compaction

顺便说一句,我们在 Cassandra 1.2 中添加了请求跟踪,以使这种事情更容易诊断:http ://www.datastax.com/dev/blog/tracing-in-cassandra-1-2

于 2012-11-21T22:20:05.493 回答