2

卡桑德拉 1.0.12

我们有一个名为 transactionRecords 的列族,它的 rowkey 是“ApplicationName”。列族用于记录事务,名称值对如 (UUID, transInfo)。

在大约 1.5K TPS 的重负载下,1 小时后,SliceRange 查询非常慢。对于 sliceRage,我们只设置了限制,比如 10000。开始和结束都是空的。我们想用 sliceRange 读取事务信息,做一些业务逻辑,然后从 Cassandra 中删除。

我们使用 org.scale7.cassandra.pelops.Mutator API 插入 DB:Mutator.writeColumn(columnFamily, rowkey, Mutator.newColumn(uuid, string));

使用 nodetool,SliceRange 读取时延迟超过 10 秒。

但是现在,它在读取时出现 TimedOutException。

有人有类似的问题吗?如何减少延迟?我们的数据结构是否符合我们的目的?有什么帮助或建议吗?

4

1 回答 1

2

我认为这是我的编程错误。

当我做范围扫描时,总是从头开始(我有5G MEMTable),随着DB中的条目越来越多,扫描速度下降,最后超过30秒,并导致TimedOutException。

通过从先前停止的位置(在排序键上)更改为扫描,现在对我来说效果很好。

于 2013-01-27T03:18:00.523 回答