2015-10-06 87 views
1

我們有一箇舊的Solr 3.6服務器,複製行爲非常奇怪。Solr複製緩慢

看看圖像。這就像超級慢。它表示連接速度很慢,但實際上可能並非如此,因爲即使幾分鐘後下載的kb數量也完全沒有改變。

此外,您看到419 GB的總下載量是錯誤的,也就是整個索引,但我們並不是完全複製它。

我可以看到「下載文件」在一秒鐘內達到100%,然後剩下的都是等待時間。即使速度更快,等待時間總是在索引移動到下一個版本之前的120秒左右。

它有時會持續很長時間(如5到20分鐘),然後突然全部完成。 有時它很快。

我們有這樣的複製配置:

<requestHandler name="/replication" class="solr.ReplicationHandler"> 
<lst name="master"> 
<str name="enable">${solr.master.enable:false}</str> 
<str name="replicateAfter">startup</str> 
<str name="replicateAfter">commit</str> 
</lst> 
<lst name="slave"> 
<str name="enable">${solr.slave.enable:false}</str> 
<str name="masterUrl">http://10.20.16.125:8080/solr/replication</str> 
<str name="pollInterval">00:00:60</str> 

enter image description here

+0

使用SOLR 3.1面臨同樣的問題。你有沒有得到任何解決方案? – Shalu

+0

@Shalu - 對於經驗,如果您按照以下答案中的建議調整合並因子,則應該解決問題。讓我知道事情的後續。 – AR1

回答

1

有幾種可能的原因,可能導致這樣的問題:

  • 的Java。 lang.OutOfMemoryError在複製過程中發生(爲了解決這類問題,請參閱Apache Solr Cookbook中的「如何處理內存不足問題」);
  • 一個常見的段合併,可以由以下原因引起:

至於下一步我建議他們:

  1. 在Solr的服務器驗證登錄內存溢出或其他有趣的錯誤的存在。
  2. 驗證執行優化的頻率(您的代碼中是否有觸發器?);
  3. 下合併因子爲2(<mergeFactor>**2**</mergeFactor>
  4. 嘗試<useCompoundFile>true</useCompoundFile>,將告訴Solr的使用所述化合物的索引結構更並且因此將減少創建索引和所需合併的數量的文件數。
  5. 驗證是否存在針對Solr/Lucene版本打開的合併策略錯誤。

一些額外的有趣的信息可以在this answer找到。