Tomcat を使用して、Solr のインスタンスを ubuntu マシンにデプロイしました。次に、Solr にデータを読み込んで挿入するシングル スレッド クライアント プログラムがあります。メモリと CPU の使用状況を観察していますが、(メモリと CPU に関して) 使用するリソースがまだたくさんあることに気付きました。Solr に挿入するには、インデックス作成コードをマルチスレッドに変更する必要があるのでしょうか? 現在のシングル スレッド プログラムを使用して 2000 万のデータのインデックスを作成するには、約 14 時間かかります。これが、マルチスレッドも使用するように変更する必要があるかどうか疑問に思う理由です。あなたの提案と助けを前もってありがとう!:)
質問する
6147 次
1 に答える
3
Solr でのインデックス作成中のマルチスレッドは広く使用されています。ソースからの読み取りをマルチスレッド化できる場合、あなたの言うことはあまり明確ではありませんが、それが進むべき道だと思います。試してみることをお勧めしますが、最初にコードを分析して、コードのどの部分が最も遅いかを確認し、それをマルチスレッドに含めてください。
また、コミット戦略にも注意してください。
Solr のドキュメントから: ( http://wiki.apache.org/solr/SolrPerformanceFactors ) 「一般に、更新要求ごとに多くのドキュメントを追加する方が、更新要求ごとに 1 つのドキュメントを追加するよりも高速です。... 自動コミットの頻度を減らすか、それらを無効にする完全にインデックス作成が高速化される可能性があります。これによりメモリ使用量が増加し、過剰なスワッピングやガベージ コレクションなどのパフォーマンスの問題が発生する可能性があることに注意してください。"
于 2013-05-15T11:31:43.210 に答える