2011-01-03 6 views
7

Ich habe einen Solr-Server, der zufällig auf Leistungsproblem läuft. Die Abfragen, die zu längeren Zeiten führen, nehmen nicht die gleiche Zeit, wenn ich diese noch einmal versuche. Das Leistungsproblem tritt sogar manchmal auf, wenn die Serverlast nicht hoch ist.Tools zum Finden von Solr-Performance-Problemen

Also ich wollte wissen, ob es irgendwelche Werkzeuge gibt oder gibt es irgendwelche Optionen in solr verfügbar, um das Problem zu lokalisieren, das zu Leistungsproblemen führt.

einige der Parameter in solrconfig.xml verwendet werden -

<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"/> 

Antwort

6

Wenn Sie Sie langfristige suchen Überwachung kann auch Einblick in Tools/Dienste wie Scalable Performance Monitoring (SPM) von meiner Firma, Sematext oder anderen. http://sematext.com/spm/index.html

Dieser Service wird Anforderungsraten, Latenz, alle Solr Cache-Info, JVM-Speicher, GC, CPU, Last, Festplatten- und Netzwerk-IO etc.

Wir essen unsere eigenen Hundefutter aussetzen und dieses Tool verwenden, um Überwachen Sie die Solr-Performance der Solr-Instanzen hinter search-lucene.com und search-hadoop.com/ und wir nutzen sie regelmäßig bei unseren Kunden, wenn wir ihnen bei der Leistungsoptimierung von Solr helfen müssen.

Wenn Sie keine "ordnungsgemäße" Leistungsüberwachung a la oben wünschen, können Sie Tools wie vmstat, iostat, sar, top, jstack usw. zur Fehlerbehebung bei der Solr-Leistung verwenden, vorausgesetzt, Sie führen es unter UNIX aus.

+0

Ich benutze nicht solr in diesen Tagen, aber das scheint ein gutes Werkzeug mit einer breiten Palette von Überwachungsfunktionen zu sein, die es zur Verfügung stellt. – Raks

+1

Unsere solr-Dienste befinden sich lokal, es scheint, dass SPM sie noch nicht überwachen kann? Gibt es ein Tool, das lokal heruntergeladen und eingerichtet wird, um unsere lokalen Dienste zu überwachen? –

1

Vielleicht kann dieses Tool Ihnen helfen: LucidGaze.

Ich habe keine Erfahrung damit, aber es sieht vielversprechend aus. Die Leute von Lucid haben auch einige interessante Artikel veröffentlicht, die wirklich lesenswert sind.

2

Das Dienstprogramm 'sar' aus dem sysstat-Paket eignet sich hervorragend zum Debuggen von Problemen mit der Datenträger-E/A. Wenn Sie feststellen, dass ein bestimmter Datenträger mehr als 30% oder mehr konsistent genutzt wird, sind Sie wahrscheinlich an IO gebunden.

1

ich einen Stresstest der Anwendung haben, indem gleichzeitig mehrere Anfragen an den solr Server Brand (Anträge wurden durch nachfolgende wgets getan)

Wir begannen die Auswirkungen auf die Performance zu sehen, und unser Problem auf zwei Ursachen eingrenzen:

  • die Cache-Größe war zu klein, so dass es zu viele Räumungen und Einfügungen im Cache gab.
  • Wir verwendeten solrversion1.3, das offensichtlich blockierende Lesevorgänge für die Indexdateien verwendet. Der Wechsel zu solr 1.4 hat dieses Problem beseitigt, da es java nio verwendet, das nicht blockierende Lesevorgänge von Indexdateien verwendet.

[auch versuchten wir, die Index-Dateien im RAM setzen und direkt von dort Verwendung, was die Leistung verbessert (aber offensichtlich nicht skalierbar)]

0

Ich war SOLR Speicherlecks seit über einem Jahr Erfahrung und musste den Server sehr fünf Tage als Workaround für das Problem, schließlich fand ich heraus, dass das Monitoring-Tool RELIC das Problem verursacht hat, entfernten wir die Überwachung und die Das Problem wurde behoben. Daher rate ich Ihnen, bei der Verwendung zu vieler Monittoring-Tools vorsichtig zu sein, da dies die Performance beeinträchtigt.

Verwandte Themen