2010-12-13 18 views
3

Hej、Solrでの同時クエリ

30m以上のドキュメントを含むSolrサーバーを展開しています。現在、私は、検索のパフォーマンスをテストしてい、その結果は、私が実行同時クエリの数の非常に依存している:

1同時クエリ:2516ms

2同時クエリ:4250,4469 MS

3同時クエリ:5781、6219、6219ミリ秒

4同時クエリ:6484、7203、7719、7781ミリ秒 ...

桟橋のスレッドプールがデフォルトとして設定されている:

新クラス= "org.mortbay.thread.BoundedThreadPool"

セット名= "minThreads" 10

セット名= "lowThreads" 50

セット名= "maxThreadsの" 10000

応答時間での同時要求の影響を減らすために設定できる要素があるかどうかを知りたいと思います。

Solrconfigはデフォルトとしても設定されていますが、最悪の場合の測定にはキャッシュがなく、mergeFactor = 5(更新よりも検索が要求されます)。事前

+1

システムリソース(メモリ、CPU、ディスク)の負荷や実行しているクエリに関する情報がない場合、これを分析するのは難しいでしょう。たとえば、「*:*」はいくつかのファセットで、ファセットを持たない単純なクエリよりも負荷が高くなります。 –

+0

適切なハードウェアを使用すると、2516msが高すぎると思います。キャッシュをチューニングしてみて(オフにしないでください)、実際のクエリを使用してください(!!)。ファセットを使用していますか?あなたは新サーチャー、暖かいサーチャーなどを使用していますか? – Karussell

答えて

1

おかげで、このIBM Tutorial for Solr

をチェックしてみて下さい、私はこのから大きな助けを得ました。

あなたの答えが見つかります。 :-)

+1

リンクが死んでいる – phunehehe

2

なぜキャッシングをオフにしてこの作業をしようとしていますか?正確に何を測定しようとしていますか?

Solr(Lucene)は、ディスクからのすべての検索を効果的に実行しました。あなたが実際に測定しているのは、OSとディスクのスループットを組み合わせたJavaの同時実行性です。これは、JettyやSolrとは関係ありません。

キャッシュはあなたの友人です。あなたは本当にどんな種類の生産能力でそれらを使用しているべきです。私の意見では、負荷をかけてスループットを測定し、キャッシュを変更してキャッシュサイズとスループットのトレードオフを調べる必要があります。