Java cassandra pelops在服务器上的性能低于本地

Java cassandra pelops在服务器上的性能低于本地,java,cassandra,thrift,batch-processing,pelops,Java,Cassandra,Thrift,Batch Processing,Pelops,我使用pelops与cassandra交谈,我想知道当我尝试插入1 GB的数据时,服务器上的性能比本地的慢。我正在尝试批量插入,在mutator.writecolumn中创建大约2000列的批处理,并使用mutator.execute m inserting.1 GB的数据处理需要25分钟以上。我想知道是否有任何解决方案,或者这是卡桑德拉的正常表现 已经创建了由3个节点组成的集群。 卡桑德拉7.4 佩洛普斯 节俭0.5 谢谢和问候 samarth您的写入参数是什么。。。嗯,我忘了casandra

我使用pelops与cassandra交谈,我想知道当我尝试插入1 GB的数据时,服务器上的性能比本地的慢。我正在尝试批量插入,在mutator.writecolumn中创建大约2000列的批处理,并使用mutator.execute m inserting.1 GB的数据处理需要25分钟以上。我想知道是否有任何解决方案,或者这是卡桑德拉的正常表现

已经创建了由3个节点组成的集群。 卡桑德拉7.4 佩洛普斯 节俭0.5

谢谢和问候
samarth

您的写入参数是什么。。。嗯,我忘了casandra sues的术语。有一个参数可以添加到write命令中,该参数指定写入必须在多少节点上发生才能被视为“成功”。显然,如果您运行localy,参数liekly是1(我认为您可以在DB的配置文件中设置),如果您有一个由3个节点组成的集群,您可能已经将其设置为3或2。Ofc如果是这样的话,则需要更长的时间来写入和验证它是否已写入。

您没有给出很多详细信息,但如果我猜您可能正在执行单线程插入,这意味着您仅限于<1个Cassandra内核。

不是这样,因为Cassandra总是在集群运行正常时写入所有副本。ConsistenceLevel更多的是关于“我需要多少副本才能正常运行”是的,ofc!!但这决定了你的“书面呼叫”需要多长时间才能返回!因此,当您有一个只有1个节点的本地DB时,您的写调用可能需要5秒钟,但是如果您要求一致性级别为3,那么对3个节点的集群的相同调用将需要15秒!!没错,这是平行的,我忘了。然而,这比写一次要花更长的时间。。。你找到解决问题的可能方法了吗?也许只是网络相关?或者节点使用了不合适的JVM启动参数(内存不足)?如果我使用多线程环境来写入cassandra,是否会出现问题。它是否会中断套接字?m失去顺序,无法写入cassandra异常\n不,我正在执行多线程插入,但在这两者之间,我遇到了顺序错误异常或无法写入空输出流。你知道我为什么会遇到这种情况吗?听起来你在使用来自多个线程的相同Pelops连接。您需要使用单独的连接对象。