首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >许多数据库表的多核和多实例

许多数据库表的多核和多实例
EN

Stack Overflow用户
提问于 2015-03-20 07:45:32
回答 1查看 512关注 0票数 0

我关心性能问题,想要一个建议,Multi Core还是Multi Instance(with different port),哪个是最好的?让我们先看看我的案子:

  • 目前,我运行的solr与多个核心和它运行的OK。只有一个问题是,有时它会“在处理facet字段时耗尽堆内存”,然后我必须重新启动solr。(将no降至最低。在重新启动时,我使用高内存启动solr : java -Xms1000M -Xmx8000M -jar start.jar )
  • 我有亚马逊的ec2实例与8核心-2.8GHtz /15GB Ram与优化的硬盘。
  • 我有许多数据库表(大约100个),必须为每个表创建不同的模式(导致创建不同的核心)。
  • 每个表都有数百万个文档,每个文档中有7-9个索引字段和10-50个存储字段。
  • 我的门户网站应该处理非常高的流量(目前我有10个请求/秒,可能增加到50-100/秒)。我知道'solr‘可以处理这件事,但我只是想告诉你,我也关心每一个最小的性能问题。
  • 通过PHP搜索solr,并将其卷曲到特定的核心,因此在不同的solr实例中搜索也没有问题。

问题:

据我所知,Solr handles one request at a time。所以我认为如果我创建多个solr实例并在不同的端口启动这些实例,那么我的web门户就可以一次处理更多的请求。(如果用户在不同的表中搜索)。

那么你会给我什么建议?单Solr实例中的多核?还是多个具有单个/双核的实例?

在不同的端口上运行多个solr实例有问题吗?

注意:在这里,我可以/可能/将在一个实例中合并较少搜索的核心/小核心(S)和单独实例中的重流量核心()或一个实例中的两个-三个重流量-核心等等。Coz为每个表创建不同的实例(~100在这里)将占用太多的硬件资源。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-27 11:38:07

自从那一周以来,我没有得到任何答案,而且我也尝试过许多与solr有关的案例(并阅读了一些文章),所以我想分享我的经验,作为我自己问题的答案。这可能/将有助于未来的观众。我也在serverfault上试过,但没有成功。

Solr一次可以处理更多的请求,

我已经通过运行一个长查询qTime=7203来测试它。7秒和几个小查询后,一个qTime=30,solr首先响应小的查询,即使他们运行后的长-1。

--这一点给出了很好的答案:使用具有多个核心的单个solr实例。只需将高内存分配给JVM即可。

其他要点:

1.每个solr实例都需要内存,因此运行多个实例需要更多的资源,这将是非常昂贵的。如果您使用的是facetssort 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优化被解释为这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29161729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档