2011-01-03 18 views
7

私はsolrサーバーを持っています。これはパフォーマンス上の問題がランダムに発生します。より長いQtimesをもたらすクエリは、それらをもう一度やり直すと同じ時間を取ることはありません。 サーバー上の負荷が高くない場合、パフォーマンスの問題が発生することさえあります。solrのパフォーマンスの問題を見つけるためのツール

私は、利用可能なツールがあるかどうか、またはパフォーマンス上の問題を引き起こす問題を特定するためのsolrのオプションがあるかどうかを知りたかったのです。

使用solrconfig.xmlのパラメータのいくつかはある -

<filterCache class="solr.LRUCache" size="1024" initialSize="512" autowarmCount="1000"/> 
<queryResultCache class="solr.LRUCache" size="512" initialSize="128" autowarmCount="0"/> 
<documentCache class="solr.LRUCache" size="1024" initialSize="512" autowarmCount="0"/> 
<enableLazyFieldLoading>true</enableLazyFieldLoading> 
<queryResultWindowSize>30</queryResultWindowSize> 
<queryResultMaxDocsCached>100</queryResultMaxDocsCached> 
<HashDocSet maxSize="10000" loadFactor="0.75"/> 

答えて

6

あなたは長期モニタリングを探しているなら、あなたはまたしてもよいです私の会社SematextなどのScalable Performance Monitoring(SPM)のようなツールやサービスを調べてください。 http://sematext.com/spm/index.html

このサービスなど、待ち時間、すべてのSolrキャッシュ情報、JVMのメモリ、GC、CPU、負荷、ディスクおよびネットワークIOを要求率を公開します

我々は独自のドッグフードを食べて、このツールを使用しますsearch-lucene.comとsearch-hadoop.com/の後ろにあるSolrインスタンスのSolrパフォーマンスを監視し、Solrのパフォーマンスチューニングを支援する必要がある場合は、顧客と定期的に使用します。

上記の「適切な」パフォーマンス監視を望まない場合は、UNIXで実行すると仮定して、Solrのパフォーマンスのトラブルシューティングにvmstat、iostat、sar、top、jstackなどのツールを使用できます。

+0

最近私はsolrを使用していませんが、これはさまざまな監視機能を備えた優れたツールと思われます。 – Raks

+1

私たちのsolrサービスはローカルにあり、SPMはまだそれを監視できませんか?ローカルサービスを監視するためのツールがローカルにダウンロードされ、セットアップされていますか? –

14

私はあなたがSolr Performance Factors on the Solr Wikiを見直すことから始めなければならないと思います。 SolrMeterツールを使用して、変更をストレステストするのに役立てることもできます。

+2

+1 SolrMeterの場合、これは非常に便利です。 – fish2000

1

多分このツールはあなたを助けることができます:LucidGaze

私はそれについての経験はありませんが、それは有望です。 Lucidの人々はまた、本当に読む価値のある興味深い記事を発表しました。

2

sysstatパッケージの 'sar'ユーティリティは、ディスクIOの問題をデバッグするのに最適です。特定のディスクが一貫して30%以上の使用率を超えていることに気がついたら、おそらくIOバウンドです。私はSolrのサーバーに同時に複数の要求を焼成することにより、アプリケーションのストレステストを行いました

1

2つの原因に私たちは、パフォーマンスへの影響を見始め

(リクエストは、後続のwgetsで行われた)と私たちの問題を絞り込む:

  • キャッシュサイズが小さすぎたため、キャッシュにエベントと挿入が多すぎます。
  • 私たちはsolrversion1.3を使用していました。これは、明らかにインデックスファイルのブロック読み取りを使用しています。 solr 1.4に切り替えると、索引ファイルの非ブロック読み取りを使用するjava nioが使用されるため、この問題は解決されました。

[また、我々は(スケーラブルではなく、明らかではない)のパフォーマンスを改善した、ラムにインデックスファイルを置くと、直接そこからそれを使用してみました]

0

私はSOLRメモリーリークを1年以上経験しており、問題の回避策としてサーバーを5日間リサイクルしなければならなかったが、結局私はモニターツールRELICが問題を引き起こしていることを知り、問題は解決したので、私のアドバイスは、あまりにも多くのツールを使用しているときは、パフォーマンスにオーバーヘッドをかけることに注意することです。

関連する問題