我关心性能问题,想要一个建议,Multi Core
还是Multi Instance(with different port)
,哪个是最好的?让我们先看看我的案子:
问题:
据我所知,Solr handles one request at a time
。所以我认为如果我创建多个solr实例并在不同的端口启动这些实例,那么我的web门户就可以一次处理更多的请求。(如果用户在不同的表中搜索)。
那么你会给我什么建议?单Solr实例中的多核?还是多个具有单个/双核的实例?
在不同的端口上运行多个solr实例有问题吗?
注意:在这里,我可以/可能/将在一个实例中合并较少搜索的核心/小核心(S)和单独实例中的重流量核心(或)或一个实例中的两个-三个重流量-核心等等。Coz为每个表创建不同的实例(~100在这里)将占用太多的硬件资源。
发布于 2015-03-27 11:38:07
自从那一周以来,我没有得到任何答案,而且我也尝试过许多与solr有关的案例(并阅读了一些文章),所以我想分享我的经验,作为我自己问题的答案。这可能/将有助于未来的观众。我也在serverfault
上试过,但没有成功。
Solr一次可以处理更多的请求,。
我已经通过运行一个长查询qTime=7203来测试它。7秒和几个小查询后,一个qTime=30,solr首先响应小的查询,即使他们运行后的长-1。
--这一点给出了很好的答案:使用具有多个核心的单个solr实例。只需将高内存分配给JVM即可。
其他要点:
1.每个solr实例都需要内存,因此运行多个实例需要更多的资源,这将是非常昂贵的。如果您使用的是facets
,sort fields
,则需要为每个实例分配更多的内存。
正如您在我的例子中所看到的,我需要使用高内存(8GB)启动solr。您可以看到丹麦网络档案馆的一个例子,它使用多个实例并为每个实例分配了9GBRAM,并且拥有256 to总RAM。
2.您可以通过java -Djetty.port=8984 -jar start.jar
在不同的端口上运行solr的多个实例。一切正常,但我有一个问题。
当索引时,它可能会给带来“内存不足的错误”,然后solr实例就会被杀死。因此,您再次需要使用高内存启动第二个实例,这将导致对RAM的更多需求。
3. Solr资源需求和性能问题可以理解这里。根据这个64位的环境和12 is的RAM是推荐的良好性能。Solr优化被解释为这里。
https://stackoverflow.com/questions/29161729
复制相似问题