2012-04-11 39 views
2

我們最近從solr3.1遷移到solr3.5,我們配置了一個主站和一個從站。主機有兩個核心,Solr 3.5索引耗時很長

1) Core1 – 44555972 documents 
2) Core2 – 29419244 documents 

我們承諾每5000個文檔,但最近在某些情況下承諾花費很長時間15分鐘。可能造成這種情況的原因是什麼,我檢查了日誌,我看到的唯一警告是,

「警告:使用不推薦的更新請求參數update.processor檢測到。請改用update.chain新的參數,作爲update.processor支持將在以後的版本中刪除。」

存儲詳情:

出口JAVA_OPTS =「$ JAVA_OPTS -Xms6g -Xmx36g -XX:MaxPermSize參數=5克」

Solr的配置:

<useCompoundFile>false</useCompoundFile> 
<mergeFactor>10</mergeFactor> 
<ramBufferSizeMB>32</ramBufferSizeMB> 
<!-- <maxBufferedDocs>1000</maxBufferedDocs> --> 
<maxFieldLength>10000</maxFieldLength> 
<writeLockTimeout>1000</writeLockTimeout> 
<commitLockTimeout>10000</commitLockTimeout> 

還注意到,是t op命令顯示幾乎350GB的虛擬內存使用量。

什麼可能導致這種情況,因爲幾天前一切都很順利?

+0

你在優化每個提交嗎?這對於JVM來說是一個非常大的內存空間,考慮一個更小的堆,也許是4G或8G。你可能會在GC中花費幾分鐘。 – 2012-04-11 21:40:00

+0

不,我們沒有優化每一個提交,我們每天都這樣做。 – sesmic 2012-04-12 02:16:52

回答

0

你有很大的搜索變暖查詢嗎?由於搜索變暖,我們的承諾需要花費2分鐘。想知道如果是這樣的話。

大的虛擬內存使用情況將解釋這一點。