2015-10-30 58 views
0

我使用solr 5.3.1的DataImportHandler來導入我導入到MySQL中的IMDB數據。爲什麼Solr 5.3.x中的導入過程非常緩慢?

但是,處理一個文檔需要幾秒鐘甚至幾分鐘的時間。我的表格包含10M +行,所以這將持續下去。我已經實現了所有數據,並且MySQL只需要幾分鐘就可以處理所有的行。

什麼可能導致這種糟糕的表現?

+0

檢查你的內存配置,你可能沒有把足夠的內存歸功於Solr。 – Yann

+0

已將堆大小增加到24g,但似乎無用 – Yangrui

+0

另一個需要考慮的事項 - 您的提交策略;你會想要不經常地自動提交(例如,可能每10000個文檔)。您的提交策略可能會配置爲非常頻繁地提交,這會降低速度。請參閱https://cwiki.apache.org/confluence/display/solr/UpdateHandlers+in+SolrConfig – Yann

回答

0

@yangrui 不幸的是,您的問題沒有單一的答案,爲什麼索引是緩慢的。 24G是很多堆,但取決於你的索引的實際大小,它可能或可能不夠。

提交策略修改還應該有助於防止您頻繁提交。當'commit'/'autocommit'發生時,SOLR在搜索文檔方面做了很多工作。然而,當一個提交發生時,這是一個資源飢餓的操作。

另一件不明顯的事情是服務器上可用的實際未分配RAM。通過未分配,我的意思是除了與JVM關聯的RAM作爲堆外,服務器上的附加RAM。 我建議閱讀本文檔https://wiki.apache.org/solr/SolrPerformanceProblems#RAM 我懷疑你的機器可能沒有足夠的內存。 希望這有助於。