【问题标题】:why CPU usage close to reach to 100% when i use SOLR query all document为什么当我使用 SOLR 查询所有文档时 CPU 使用率接近 100%
【发布时间】:2011-04-20 19:00:32
【问题描述】:

我有一个使用 SOLR 查询超过 200 万个文档并按时间排序的应用程序。 像这样/select?sort=p_review_date desc&rows=10&start=0&q=*:*查询URL参数,参数start是变量值,每次请求增加10。 当我进行性能压力测试时,SOLR 服务器的 CPU 使用率接近 100%。

问题: 1.CPU占用率高是什么原因? 2.有没有办法让CPU占用率低,比如缓存或者其他配置。

这是 solrconfig.xml 中查询缓存配置的一部分 1024

<queryResultCache
    class="solr.LRUCache"
    size="40960"
    initialSize="10240"
    autowarmCount="512"/>

<documentCache
    class="solr.FastLRUCache"
    size="40960"
    initialSize="10240"
    autowarmCount="0"/>

<enableLazyFieldLoading>true</enableLazyFieldLoading>

<queryResultWindowSize>10</queryResultWindowSize>

<queryResultMaxDocsCached>500</queryResultMaxDocsCached>

【问题讨论】:

  • 那些缓存看起来很可怕。您是否尝试过较小的值?你分配了多少内存?
  • 索引文件有 5.8G。 JVM 分配了“-Xms7G -Xmx10G”。

标签: solr cpu-usage


【解决方案1】:

我管理像您这样的大型索引(使用 Autonomy 搜索引擎)的经验是,100% 的 CPU 是可以预期的。因为您的索引存储在 RAM 中,所以没有 I/O 活动来减慢搜索操作,CPU 将尝试尽可能快地读取 RAM,这意味着接近 100% 的 CPU。

为什么您希望您的搜索使用 50% 的 CPU,它需要 2 倍的时间,对吧?

有一个用于 AIX 的性能监控工具,称为 nmon。在FAQ for nmon,作者提醒我们

如果你继续使用越来越短的 你最终会看到的时期 CPU 要么 100% 忙要么 100% 闲置所有其他数字只是一个 人类思维不快的特征 足够了,必须平均 CPU 使用时间更长。

即使您不使用 AIX 作为操作系统,nmon FAQ 中也有很多关于系统/应用程序性能监控和测量的有用信息。我推荐它,或者您可以在 Google 上更多地了解如何诊断系统中的性能问题。

此外,您可能希望在您的帖子中添加一些标签。 SO 这里有大量的基准测试和测试活动。

我希望这会有所帮助。

【讨论】:

    【解决方案2】:

    编辑您的 solrconfig.xml 并更改 maxWarmingSearchers 值:

    <maxWarmingSearchers>50</maxWarmingSearchers>
    

    【讨论】:

    • 欢迎来到 Stack Overflow。将来,请务必在发布之前预览您的答案。在这种情况下,您的 XML 没有被显示,因为它被误认为是 HTML。我通过将其视为代码块来解决此问题。你可以自己做到这一点,例如将代码缩进四个空格。
    猜你喜欢
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多