solr上的多线程索引

时间:2012-09-20 07:58:53

标签: solr

我将一个Solr实例部署到带有tomcat的ubuntu机器上。然后我有一个单线程客户端程序来读取并将数据注入Solr。我正在观察内存和CPU使用情况,并意识到我仍然有很多资源(在内存和CPU方面)要使用。我想知道是否应该将我的索引代码更改为多线程以注入Solr?要使用当前的单线程程序索引2000万个数据,它需要大约14个小时。这就是为什么我想知道我是否应该改为使用多线程。在此先感谢您的建议和帮助! :)

1 个答案:

答案 0 :(得分:1)

在Solr中进行索引时的多线程被广泛使用。 你说的不是很清楚,如果你也可以从你的来源多线程阅读,但我认为这是要走的路。 我建议你尝试一下,但首先尝试分析你的代码,看看代码的哪一部分是最慢的,并将其包含在多线程中。

同时密切关注您的提交策略。

来自Solr文档:(http://wiki.apache.org/solr/SolrPerformanceFactors) "通常,每个更新请求添加许多文档比每个更新请求更快一个文档。 ... 降低自动提交的频率或完全禁用它们可以加快索引速度。请注意,这会导致内存使用量增加,从而导致性能问题,例如过度交换或垃圾回收。"