Solr性能警告:OnDeckSearcher重叠

Solr性能警告:OnDeckSearcher重叠,solr,lucene,search-engine,solrcloud,Solr,Lucene,Search Engine,Solrcloud,我们的solr搜索引擎在测试环境中遇到了很多问题。我们在版本4.6上有一个solr云设置,单碎片,4个节点。我们在leader节点上看到CPU扁平化到100%达数小时,然后服务器开始抛出内存错误,“性能警告:重叠OnDeckSearcher”开始出现在日志中,leader进入恢复模式,筛选器缓存和查询缓存预热时间达到约60秒(通常不到2秒),leader节点宕机,整个集群中断几分钟,同时它恢复并选举新的leader。我们认为我们在4.6和4.x分支中遇到了许多solr bug,因此我们希望迁移到

我们的solr搜索引擎在测试环境中遇到了很多问题。我们在版本4.6上有一个solr云设置,单碎片,4个节点。我们在leader节点上看到CPU扁平化到100%达数小时,然后服务器开始抛出内存错误,“性能警告:重叠OnDeckSearcher”开始出现在日志中,leader进入恢复模式,筛选器缓存和查询缓存预热时间达到约60秒(通常不到2秒),leader节点宕机,整个集群中断几分钟,同时它恢复并选举新的leader。我们认为我们在4.6和4.x分支中遇到了许多solr bug,因此我们希望迁移到5.3。我们最近还将软提交时间从10分钟降至2分钟。我在所有节点上每2分钟都会看到常规的CPU峰值,但峰值很低,在2分钟的周期内为20-50%(最大100)。当CPU耗尽时,显然我看不到那些尖峰。硬提交每15秒一次,opennewsearcher设置为false。我们有一个繁重的查询和索引负载类型的场景

我想知道频繁的软提交是否对这个问题有重大影响,或者缓存上的长自动预热时间是否是由我们遇到的其他问题(原因或症状)造成的?我们最近增加了服务器上的索引负载,但我们需要在测试环境中解决这些问题,然后才能升级到生产环境

缓存设置:

<filterCache class="solr.FastLRUCache"
                 size="5000"
                 initialSize="5000"
                 autowarmCount="1000"/>

<queryResultCache class="solr.LRUCache"
                      size="20000"
                      initialSize="20000"
                      autowarmCount="5000"/>

我们在Solr4.10(以及5.1)中遇到了这个问题。在我们的例子中,我们非常频繁地建立索引,提交开始变得过于紧密。有时,我们的optimize命令的运行时间会比预期的长一点

我们通过确保在优化操作开始后至少十分钟内没有索引或提交来解决这个问题。我们还自动减少了对缓存的查询。如果您尚未找到以下链接,则以下链接可能对您有用:


这个问题在邮件列表中会得到更好的答案,因为它对于StackOverflow来说太具体了。但是,是的,它确实看起来像是您的软提交,因为在下一次提交发生时预热尚未完成。虽然我希望2分钟就足够了。您是否也有文档计数阈值?也许是你触发了这一点。@AlexandreRafalovitch谢谢。我会在那里发帖的。您指的是什么单据计数阈值?自动计数?我将发布缓存设置我在4.x中看到过这种类型的错误,它们在升级到5.2.1后都消失了。基本上,使用4.x摆脱它的方法是减少流量。你使用过自动提交吗?我的意思是,例如:在PHP中,SolrClient::addDocument(SolrInputDocument$doc[,bool$overwrite=true[,int$commitWithin=0]);使用$commitWithin,您可以在$commitWithin毫秒后自动提交此文档。我们从不进行优化,因为这对于我们的设置似乎不明智。我们似乎主要承受着沉重的写负载,至少在核心和集群上,我们仍然看到问题。但我们也有大量的查询和自动建议负载。这些链接非常有用,谢谢。