Exception Cassandra在某些插入后给出超时异常

Exception Cassandra在某些插入后给出超时异常,exception,cassandra,Exception,Cassandra,我正在使用Cassandra 1.0.6版本。。。我有大约100万个5KB的JSON对象要插入到cassandra中。随着插入的进行,cassandra的内存消耗也会增加,直到它稳定到某一点。。在一些插入之后(大约2-3LKH),ruby客户机给了我“`recv_batch_mutate':CassandraThrift::TimedOutException”异常 我还尝试插入1KB大小的JSON对象超过一百万次。这没有任何例外。同样在这个实验中,我绘制了50000次插入所花费的时间与50000

我正在使用Cassandra 1.0.6版本。。。我有大约100万个5KB的JSON对象要插入到cassandra中。随着插入的进行,cassandra的内存消耗也会增加,直到它稳定到某一点。。在一些插入之后(大约2-3LKH),ruby客户机给了我“`recv_batch_mutate':CassandraThrift::TimedOutException”异常

我还尝试插入1KB大小的JSON对象超过一百万次。这没有任何例外。同样在这个实验中,我绘制了50000次插入所花费的时间与50000次插入之间的图表。我可以发现,经过一些迭代之后,插入所需的时间急剧增加,然后突然下降。这可能是由于JVM完成了垃圾收集。但同样的情况不会发生在插入5KB数据一百万次的情况下

有什么问题吗??我正在使用的一些配置选项:- 系统:-

  • 8GB,4芯
卡桑德拉配置:- -并发写入:64

  • memtable_flush_写入程序:4个

  • 内存表\u刷新\u队列\u大小:8

  • rpc_服务器_类型:同步

  • 节约型框架运输型尺寸单位:30

  • 内存中的压缩限制内存中的大小:64

  • 多线程压缩:true


我是否需要对配置进行任何更改。它是与JVM堆空间有关还是由于垃圾收集

您可以在cassandra配置文件中将rpc超时增加到更大的值,在\u ms中查找rpc\u timeout\u。但是,您应该在连接部分深入研究您的ruby客户机

# Time to wait for a reply from other nodes before failing the command
rpc_timeout_in_ms: 10000

您正在进行批量插入吗?如果是的话,你的批量是多少?谢谢你的回复。。我有一个用例,每天我必须进行超过200万次的读写操作。。如果我以毫秒为单位增加rpc超时,会不会影响吞吐量。。此外,我使用的是单节点集群。。它在多节点集群中运行得好吗?也许你应该仔细研究一下你的ruby客户端代码。我对ruby不太熟悉,但我们的环境中有多个节点,使用hector将数百万条记录注入集群,同时,从cassandra节点读取数据,它工作正常。也许你应该用你的ruby客户机代码提出一个问题,大师可以对此发表更多的评论。在这里很难猜测,我们只是触及表面。