Solr 性能警告:重叠 onDeckSearchers

Solr PERFORMANCE WARNING: Overlapping onDeckSearchers

我们的 solr 搜索引擎在我们的测试环境中遇到了很多问题。我们在 4.6 版、单分片、4 个节点上有一个 solr 云设置。我们在领导节点上看到 CPU 平线到 100% 几个小时,然后服务器开始抛出 OutOfMemory 错误,'PERFORMANCE WARNING: Overlapping onDeckSearchers' 开始出现在日志中,领导者进入恢复模式,过滤器缓存查询缓存预热时间达到 60 秒左右(通常少于 2 秒),领导节点出现故障,整个集群在恢复并选出新领导时中断了几分钟。我们认为我们在 4.6 和 4.x 分支中遇到了一些 solr 错误,因此希望迁移到 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"/>

我们在 Solr 4.10(和 5.1,很少见)中遇到过这个问题。在我们的例子中,我们索引非常频繁,并且提交开始变得太靠近了。有时我们的优化命令 运行 比预期的要长一点。

我们通过确保在优化操作开始后至少十分钟内没有索引或提交发生来解决它。我们还为我们的缓存自动预热了更少的查询。如果您还没有找到以下链接,它们可能对您有用:

Overlapping onDeckSearchers--Solr mailing list

The Solr Wiki