【问题标题】:Simultaneous queries in SolrSolr 中的同时查询
【发布时间】:2010-12-13 17:30:22
【问题描述】:

嘿嘿,

我正在部署一个包含超过 3000 万个文档的 Solr 服务器。目前,我正在测试搜索性能,结果很大程度上取决于我执行的同时查询的数量:

1个同时查询:2516ms

2 个同时查询:4250,4469 毫秒

3 个同时查询:5781、6219、6219 毫秒

4 个同时查询:6484、7203、7719、7781 毫秒 ...

Jetty 线程池默认配置:

新的 class="org.mortbay.thread.BoundedThreadPool"

设置 name="minThreads" 10

设置 name="lowThreads" 50

设置 name="maxThreads" 10000

我想知道是否可以设置任何因素来减少同时请求对响应时间的影响。

Solrconfig 也被配置为默认值,但没有用于测量最坏情况的缓存和 mergeFactor=5(搜索将比更新请求更多)。

提前致谢

【问题讨论】:

  • 如果没有关于系统资源(内存、cpu、磁盘)负载的任何详细信息以及有关您正在运行的查询的信息(例如,“:”),很难对此进行分析>" 具有多个方面通常会导致比没有任何方面的简单查询更高的负载。
  • 如果你使用合适的硬件,我认为 2516ms 太高了。尝试调整缓存(不要关闭它们)并使用真正的查询(!!)。你使用刻面吗?您是否在使用 newSearchers、预热搜索器等?

标签: lucene solr jetty


【解决方案1】:

您为什么要尝试在关闭缓存的情况下执行此操作?你到底想测量什么?

您有效地强制 Solr (Lucene) 从磁盘执行每一次搜索。您实际测量的是 Java 本身的并发性与您的操作系统和磁盘吞吐量相结合。这与 Jetty 或 Solr 无关。

缓存是你的朋友。你真的应该在任何类型的生产能力中使用它们。在我看来,您应该在改变缓存的同时测量负载下的吞吐量,以了解缓存大小和吞吐量之间的权衡。

【讨论】:

    【解决方案2】:

    请查看此IBM Tutorial for Solr

    我从中得到了很大的帮助。

    希望您能找到答案。 :-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      相关资源
      最近更新 更多