1

Solr インストール (3core サーバー) でいくつかのパフォーマンスの問題に直面しています。ご想像のとおり、特定のキーワードに基づいてライブ Twitter データのインデックスを作成しています。ドキュメントの受信率が非常に高いため、コアの更新は非常に頻繁かつ定期的です。以下は、私の 3 つのコアのドキュメント サイズです。

Twitter  - 26874747
Core2    -  3027800
Core3    -  6074253

私のサーバー構成には 8GB の RAM がありますが、サーバーのパフォーマンスが低下しています。これを改善するために何ができますか?また、いくつか質問があります。

コミットの数は多くのメモリを必要としますか? 1 時間あたりのコミット数を減らすと効果がありますか? 私のクエリのほとんどは、フィールドまたは日付のファセットに基づいていますか? それらを改善するには?

よろしく、 Rohit

4

3 に答える 3

3
  • コミット数が多いため、マージ ファクターを大きくして、インデックス作成のパフォーマンスを向上させることができます。
  • ドキュメントを 1 つずつではなく、バッチでインデックス付けします。
  • マージが発生すると、非常に高いメモリ/CPU が必要になり、その時点でインデックス作成もブロックされます。
  • パフォーマンスを向上させるためにクエリ サーバーからインデックス サーバーを分離し、マスター スレーブ構成を使用します。
于 2011-07-17T00:57:41.357 に答える
0

また、最初のセットアップ以降、Solrのパフォーマンスが低下しました。私が見つけた最高のものは、次のとおりです 。http ://www.lucidimagination.com/blog/2010/01/21/the-seven-deadly-sins- of-solr /

これで、Solr実装のいくつかの改善をすぐに行うことができます。これまでのところ、私の調査結果は次のように述べています。

  • バイナリ更新を使用してパフォーマンスを向上させるには、SolrJを使用します(ドキュメントをインデックスに追加しますが、コミットは必要ありません... PHPを破棄し、バックエンドをJavaに移動する必要がありました)
  • 各コミットから最適化プロセスを削除し、データの量に応じて1日/週に1回だけ実行します(デフォルトでは、php-solr-clientライブラリの各コミットで実行するように設定されています)。
  • ウォームアップクエリを、最もヒットしたデータに合わせて調整します。
  • データの大きなチャンクをコミットします。
  • JVMとガベージコレクターを監視する
  • Tomcat/Java設定を調整する
于 2011-07-27T22:15:53.393 に答える
0

SOLR 4.0 の最新のトランクにアップグレードします。次に、次の手順に従ってください: http://wiki.apache.org/solr/NearRealtimeSearch

解決策の鍵は、ツイートをインポートする際にソフトコミットを使用することです。

私たちはあなたが説明しているものと同様のシステムを使用しており、1 時間あたり約 500.000 のツイートを問題なくインデックスしています。

ここでの問題の 1 つは、ある時点でコミットする必要があるため、この環境ではあまり多くのキャッシュを設定できないことです。それが発生すると、キャッシュがなくなり、オートウォーミングが開始されます。オートウォーミングの設定を確認してください。また、ファセット クエリを実行するときにログを確認して、ファセットの一意の値の量が多すぎないことを示します。600 万人のユニーク ユーザーを抱えるクエリのピボットにまだ苦労しています。それはあなたのパフォーマンスを殺します。実際には、5,000 万件程度のツイートで問題なく動作していることを意味しますが、それを超えると大幅に遅くなり、これを解決するために 4.0 の改善を待っています.

于 2012-02-14T23:17:10.910 に答える