我们最近从Solr 6.6升级到Solr 7.7 (具有3个节点的集群),并且面临着一个特殊的问题。作为批处理过程的一部分,我们每周一将大约900万-1000万个文档索引到Solr,这个过程过去需要大约50-55分钟才能使用Solr6.6完成。在所有配置(solrconfig.xml和模式)与Solr6.6上的现有集合完全相同的情况下迁移到Solr7.7之后,我们观察到相同的过程需要5-6个小时来索引相似的负载量。在检查solr日志时,我们发现大多数更新请求(>90%)到达了3个节点中的1个。solr集群的前端是一个配置为具有循环调度策略的GCP负载均衡器。
我们使用compositeId作为路由器,没有基于前缀的路由。示例文档:{id:AB_111_1_1,数量:10.0,名称:111,部分:1,日期:2020-06-29T00:00:00Z}
Solr7群集已启用身份验证插件,但在Solr 6群集上未启用该插件。对于此行为,应用程序/进程端没有其他更改。我们没有使用任何solr客户机(solrs或solrj)向solr发送更新/查询请求。与启用了身份验证的负载均衡器的普通Http连接。
这种行为会随着时间的推移而降低,索引速度也会变得更慢。当我们使用solr数据导入处理程序将文档从solr 6.6复制到solr 7.7时,我们观察到了类似的行为。最初,索引速度约为每秒2K个文档,但在10-15分钟内,这一速度开始受到影响,速度会降低。
发布于 2020-07-07 23:59:12
验证apache Tika是否为正确的版本,以及Java内存是否已正确分配。使用htop监控您的操作
发布于 2021-07-13 15:50:47
上述问题的解决方案是升级托管solr的基础设施。升级CPU +内存后,性能优于Solr6。这是通过不同配置的试验方法发现的。
https://stackoverflow.com/questions/62768999
复制相似问题