具有4个服务器的大索引的Solr性能

时间:2015-02-04 13:19:11

标签: performance solr multiserver

我们有4台服务器(2台服务器,48GB RAM,24核,2.4GHz和2台服务器,64 GB RAM,24核,2.4GHz)。我们使用4个分片(每个服务器上有1个分片)。每个分片索引大小约为500GB。

我们正在使用edismax解析器&&环绕查询解析器来处理短语,邻近度和放大器外卡搜索。

即使是简单的通配符/邻近搜索也需要10-20秒。

我们在单个服务器(24核,64 GB RAM,2.4GHz)上有相同的设置,有8个分片(每个分片索引大小为250GB)

与4台服务器设置相比,单台服务器设置的性能几乎是2倍(更好)。

我们设置了4台服务器solr cloud以提高性能,但性能下降。这里有什么我们可能会遗失的吗?

1 个答案:

答案 0 :(得分:1)

这个问题看起来像是CPU usage when searching using solr的姐妹而且问题是一样的:你的CPU受到限制,因为你的查询非常繁重。您的查询以单线程方式与每个分片匹配,因此您的4机器设置意味着您有4个线程,每个线程处理500GB索引,而您的单机设置有8个线程,每个线程处理250GB索引。由于您拥有足够多的CPU核心,具有较小分片的设置将首先完成。

如果将分片进一步分割为例如每个50GB,你将有40个分片。如果将它们沿着具有10个分片/机器的4台机器分开,则可以以全CPU速度支持2个(实际上更像是3个)并发请求。理想情况下,这应该是您单机设置速度的5倍。