Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 添加solr节点后性能会下降_Performance_Solr_Datastax Enterprise - Fatal编程技术网

Performance 添加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类

我遇到了一个奇怪的问题,我设置了一个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查询速度变慢了。
可能是我的配置导致了这种情况吗?

Solr查询需要扇形展开,以覆盖列族的所有键。因此,当您从一个节点转到三个节点时,总查询时间将增加到单个节点可以满足的查询时间的三倍,这一点也不奇怪

你没有提到搜索DC的RF

对于更复杂的查询,扇出将净减少查询延迟,因为每个节点上只会出现总查询时间的一小部分,而对于小查询,扇出的开销和查询结果的聚合使实际Solr核心查询的时间相形见绌


一般来说,Cassandra查询往往比Solr查询简单得多,所以它们很少具有可比性。

问题解决了。在注意到文档中提到不要为Solr节点使用虚拟节点(并且没有说明原因)之后,我检查了配置,注意到我正在使用虚拟节点。我将配置更改为不使用虚拟节点,性能问题消失。我也从4.0.0升级。同时升级到4.0.2,但我很确定是虚拟节点导致了问题。

好的,谢谢,我担心这可能是问题所在,这可能会使我的设计成为一个坏主意。我的Solr DC的RF与Cassandra DC相同,所以我尝试了1和2的值。考虑到这一点,可能这是我的问题/解决方案的一部分,我应该为Cassandra访问的数据和Solr访问的数据创建单独的键空间。我对这方面还不熟悉,以前也没有真正想过。为什么VNode对Solr节点不好: