Solr索引性能随updatelog和字段更新而降低

时间:2013-10-16 14:32:12

标签: performance solr updates

以下是在Solr 4.3中索引180万个文档的基准测试结果,其中包含各种配置:

    在solrconfig.xml中配置了
  • 无更新日志。架构中配置了没有uniqueId 字段。

需要 165秒来索引文档。 文档以恒定速率处理,大约为9-10000 /秒。

  • solrconfig.xml中仅已激活的updatelog

索引时间现在 180秒。文档以<9> /秒的恒定速率进行处理。

  • 仅在solrconfig.xml中激活更新日志,在schema.xml中添加添加uniqueId字段(以及发送用于编制索引的每个文档中)。

索引时间现在 260秒。文档以递减率处理,从每秒约5000个文档开始,在索引过程结束时持续降低到约3000个文档/秒

    在solrconfig.xml中
  • 激活更新日志,在schema.xml中添加了添加了uniqueId字段(并且在每个发送用于编制索引的文档中)并且添加了一个字段在发送用于索引的文档中增加 1。

索引时间现在 700秒。文档以递减率处理,从每秒约4000个文档开始,在索引过程结束时持续降低到约1000个文档/秒

我已经阅读了文档。基本上,使用updatelog时关于性能的唯一说法就是确保你经常配置一个自动提交,这样日志就不会太大了。我已经完成了(设置为自动提交500000个添加的文档)。除此之外,没有太多表现。

我的问题是:

据我所知,当我们进行现场更新(比如我上一次的基准测试)时,性能会变慢。有效复制文档并添加新值。我不明白为什么性能会随着时间的推移而降低?为什么,当没有updatelog时性能是恒定的,但是当执行更新时,性能也会下降(从这里的5k到1k文档/秒)?

此外,如何在这种情况下改善绩效(现场更新)?

0 个答案:

没有答案