在我们的集群中,我们有一个columnfamiliy,其键是静态的,其列有许多插入和删除,如反向索引。随着时间的推移,带有manys列的键的读取延迟会增加,现在,它会因超时而中断。
我们使用ColumnSliceIterator,默认计数为100,从最小到最大字符切片。当分页小于5时,它才有效。
我们认为tumbstones列可能导致问题,因此,我们减少了gc_grace_seconds并执行了许多修复,但没有任何变化。
有什么想法吗?
答案 0 :(得分: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