2010-12-13 8 views
3

Hej,Gleichzeitige Abfragen in Solr

Ich bin ein Solr-Server mit mehr als 30m Dokumente bereitstellen. Derzeit teste ich die Suche Leistung und die Ergebnisse sind sehr abhängig von der Anzahl der gleichzeitigen Abfragen ich ausführen:

1 gleichzeitige Abfrage: 2516ms

2 gleichzeitige Anfragen: 4250,4469 ms

3 simultane Abfragen: 5781, 6219, 6219 ms

4 gleichzeitige Anfragen: 6484, 7203, 7719, 7781 ms ...

Anlegestelle Thread als Standard konfiguriert ist:

New class = "org.mortbay.thread.BoundedThreadPool"

Set name = "minThreads" 10

Set name = "lowThreads" 50

Set name = "maxThreads" 10000

Ich würde gerne wissen, ob es einen Faktor gibt, den ich einstellen kann, um die Auswirkung der gleichzeitigen Anfragen in Antwortzeiten zu verringern.

Solrconfig ist auch als Standard konfiguriert, aber ohne Cache für die Messung schlimmster Fälle und mergeFactor = 5 (Suche wird mehr angefordert als Aktualisierung).

Vielen Dank im Voraus

+1

Es ist schwierig, dies ohne Details über die Auslastung der Systemressourcen (Speicher, CPU, Festplatte) und Informationen über die ausgeführten Abfragen zu analysieren - zum Beispiel "*: *" mit mehreren Facetten wird normalerweise wesentlich höher laden als eine einfache Abfrage ohne Facetten würde. –

+0

Ich denke, 2516ms ist zu hoch, wenn Sie geeignete Hardware verwenden. Versuchen Sie Caches zu tunen (schalten Sie sie NICHT aus) und verwenden Sie echte Abfragen (!!). Benutzt du Facetten? Verwenden Sie newSearchers, wärmende Sucher usw.? – Karussell

Antwort

1

Bitte überprüfen Sie diese aus IBM Tutorial for Solr

bekam ich eine große Hilfe von diesem.

Hoffnung werden Sie Ihre Antwort finden. :-)

+1

der Link ist tot – phunehehe

2

Warum versuchen Sie, dies mit deaktiviertem Caching zu tun? Was genau versuchst du zu messen?

Sie haben effektiv Solr (Lucene) gezwungen, jede Suche von der Festplatte durchzuführen. Was Sie tatsächlich messen, ist die Parallelität von Java selbst in Kombination mit dem Betriebssystem und dem Datenträgerdurchsatz. Das hat nichts mit Jetty oder Solr zu tun.

Caches sind dein Freund. Sie sollten sie wirklich in jeder Art von Produktionskapazität verwenden. Meiner Meinung nach sollten Sie Ihren Durchsatz unter Last messen, während Sie die Caches variieren, um zu sehen, wie groß der Kompromiss zwischen Cachegröße und Durchsatz ist.

Verwandte Themen