2017-04-07 12 views
0

私は、DataImportHandlerを使用してインデックス処理を実行した後、非常にうまく応答する2.2GB solrコアを持っています。私はそれをやっている間にソルがかなりの量のラムを使用していることに気づいた。マシン再起動後のSolrクエリー時間の増分

問題は、マシンを再起動した後に発生します。クエリ時間が200〜300msに増加し、使用済みRAMが非常に低くなります。

マシンの再起動後もインデックスを作成した後に、同じパフォーマンスに到達するために何ができるのかを教えてください。

ありがとうございました!

+0

頻繁に使用されるクエリを打つことで試してみてください。 –

+0

ありがとう!しかし、それはそれらのクエリにのみ適用されます。残りの部分は依然として応答時間が長くなります。さらに、キャッシュ・ウォーミング・スクリプトを構築する必要があります。私は実行可能なコマンドが存在し、フルインポートが行われたときと同じようにインデックスがメモリに移されるのかと疑問に思います。 –

答えて

1

マシンを再起動すると、インデックスファイルが寒くなります。つまり、OSによってキャッシュされません。

あなたはそれで全体のインデックスをロードするのに十分な空きRAMを持っているのであれば、あなたはこのようなスクリプトを使用することができます:

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

は、Solrのを開始する前にこれを行います。インデックスはわずか2.2GBなので、これはかなり速くなければなりません。我々は明確に区別する必要がSolrのパフォーマンスとキャッシュの話をすると

+0

ありがとう!これに相当する窓がありますか? –

+1

おそらくそれは同等のWindowsを持っていますが、私はそれを知らない、ほとんどの人はLinuxでprod Solrを展開します。あなたはserverfaultでも尋ねることができます – Persimmonium

0

:インデックス付きファイルの

  1. OSファイルのメモリマッピング このキャッシングは、Solrの外で起こり、速いパフォーマンスを持つことが基本です。起動時にSolrのキャッシュをウォームアップ

  2. Solrのキャッシング (この部分はOSによって管理されている)あなたのインデックスがメモリにキャッシュされ、より高速な検索が可能になる より、あなたはfirstSearcher温暖化クエリを設定する必要があり、彼らは一般的なことがありまたは非常に特殊なものであるかどうかを判断します。 firstSearcher(Solrの起動時)とnewSearcher(それぞれのコミットが新しいSearcherを開くことを意味するたびに)のために設定できます。

関連する問題