2017-04-07 55 views
0

我有一個2.2GB的solr內核,它在通過DataImportHandler運行索引過程後響應非常好。我注意到solr在做這件事時使用了相當多的ram。Solr查詢時間在機器重新啓動後增加

重新啓動機器後出現問題。查詢時間增加到200 - 300ms,使用的RAM非常低。

所以,你可以給我一個提示,我可以嘗試達到我在索引後甚至在機器重新啓動後具有的相同性能嗎?

謝謝!

+0

嘗試預熱緩存通過點擊經常使用的查詢。 –

+0

謝謝!但這隻適用於這些查詢。其餘的人仍然會有更多的反應時間。另外,你必須爲此構建一個緩存預熱腳本。我想知道是否存在我可以運行的某種命令,並且索引將被移入內存,就像完全導入完成後一樣。 –

回答

1

如果重新啓動計算機,索引文件將會變冷,即不會被操作系統緩存。

所以,如果你有足夠的RAM加載整個指數中,你可以使用這樣的腳本:

find $PATH_TO_YOUR_INDEX_DATA_DIR/data/ -type f -exec cat {} \; > /dev/null 

Solr的開始之前執行此操作。你的索引只有2.2GB,所以這應該相當快。

+0

謝謝!這是否有一個窗口等效? –

+1

可能它有一個等效的窗口,但我不知道它,大多數人都在linux下部署了Solr。儘管你可以在服務器錯誤中詢問 – Persimmonium

0

在談到Solr的表現,我們需要明確區分之間的緩存:的索引文件 此緩存外發生的Solr

  1. OS文件內存映射,這是從根本上有快速的性能。 更多的索引在內存中緩存,更快的搜索必應(這部分是由操作系統管理)

  2. Solr的緩存 熱身Solr的緩存在啓動時,您必須配置firstSearcher變暖的查詢,也可以是通用的或者非常具體,取決於用例。 可以爲firstSearcher(在Solr啓動時)和newSearcher(每次提交意味着打開一個新的Searcher)配置它們。

相關問題