以下是在Solr 4.3中索引180万个文档的基准测试结果,其中包含各种配置:
需要 165秒来索引文档。 文档以恒定速率处理,大约为9-10000 /秒。
索引时间现在 180秒。文档以<9> /秒的恒定速率进行处理。
索引时间现在 260秒。文档以递减率处理,从每秒约5000个文档开始,在索引过程结束时持续降低到约3000个文档/秒
索引时间现在 700秒。文档以递减率处理,从每秒约4000个文档开始,在索引过程结束时持续降低到约1000个文档/秒
我已经阅读了文档。基本上,使用updatelog时关于性能的唯一说法就是确保你经常配置一个自动提交,这样日志就不会太大了。我已经完成了(设置为自动提交500000个添加的文档)。除此之外,没有太多表现。
我的问题是:
据我所知,当我们进行现场更新(比如我上一次的基准测试)时,性能会变慢。有效复制文档并添加新值。我不明白为什么性能会随着时间的推移而降低?为什么,当没有updatelog时性能是恒定的,但是当执行更新时,性能也会下降(从这里的5k到1k文档/秒)?
此外,如何在这种情况下改善绩效(现场更新)?