Performance 添加solr节点后性能会下降
我遇到了一个奇怪的问题,我设置了一个DSE 4.0集群,其中有一个Cassandra节点和一个Solr节点(使用DseSimpleSnitch),性能非常好。如果我添加额外的节点来拥有3个Cassandra节点和3个Solr节点,那么我的Solr查询的性能会急剧下降。有人知道我可能做错了什么吗?我基本上拥有DSE的所有默认选项,并尝试过几次擦除所有数据和从头开始重新创建所有内容,结果都是一样的。我还尝试创建复制因子为1和2的键空间,结果相同。 也许我的用例有点奇怪,但我使用Solr进行OLTP类型的查询(通过SolrJ和二进制编写器/读取器),这就是性能至关重要的原因。使用非常轻的工作负载(例如5个客户端进行非常简单的Solr查询),响应时间从单个Solr节点增加到3个Solr节点,增加了约50%,而我的测试只需要几百个小文档(约25ms到约50ms)。与单个节点相比,150个客户端对3个节点的响应时间要慢2到3倍。Cassandra的响应时间没有变化,只是Solr查询速度变慢了。Performance 添加solr节点后性能会下降,performance,solr,datastax-enterprise,Performance,Solr,Datastax Enterprise,我遇到了一个奇怪的问题,我设置了一个DSE 4.0集群,其中有一个Cassandra节点和一个Solr节点(使用DseSimpleSnitch),性能非常好。如果我添加额外的节点来拥有3个Cassandra节点和3个Solr节点,那么我的Solr查询的性能会急剧下降。有人知道我可能做错了什么吗?我基本上拥有DSE的所有默认选项,并尝试过几次擦除所有数据和从头开始重新创建所有内容,结果都是一样的。我还尝试创建复制因子为1和2的键空间,结果相同。 也许我的用例有点奇怪,但我使用Solr进行OLTP类
可能是我的配置导致了这种情况吗?Solr查询需要扇形展开,以覆盖列族的所有键。因此,当您从一个节点转到三个节点时,总查询时间将增加到单个节点可以满足的查询时间的三倍,这一点也不奇怪 你没有提到搜索DC的RF 对于更复杂的查询,扇出将净减少查询延迟,因为每个节点上只会出现总查询时间的一小部分,而对于小查询,扇出的开销和查询结果的聚合使实际Solr核心查询的时间相形见绌
一般来说,Cassandra查询往往比Solr查询简单得多,所以它们很少具有可比性。问题解决了。在注意到文档中提到不要为Solr节点使用虚拟节点(并且没有说明原因)之后,我检查了配置,注意到我正在使用虚拟节点。我将配置更改为不使用虚拟节点,性能问题消失。我也从4.0.0升级。同时升级到4.0.2,但我很确定是虚拟节点导致了问题。好的,谢谢,我担心这可能是问题所在,这可能会使我的设计成为一个坏主意。我的Solr DC的RF与Cassandra DC相同,所以我尝试了1和2的值。考虑到这一点,可能这是我的问题/解决方案的一部分,我应该为Cassandra访问的数据和Solr访问的数据创建单独的键空间。我对这方面还不熟悉,以前也没有真正想过。为什么VNode对Solr节点不好: