2016-04-07 14 views
0

Wir haben 8 Kerne auf der CPU und wir haben eine sehr ineffiziente Abfrage, die wir beheben. Grundsätzlich, wenn wir 1/8% der CPU erreichen, fällt Solr um.Verwendung mehrerer Prozessoren auf Solr

Wir sollten die Abfrage behoben, die unser unmittelbares Problem lösen wird, aber was passiert, wenn wir mit Tausenden von Benutzern gleichzeitig enden, sogar mit einer effizienten Abfrage? Wie bekommen wir Solr, um alle Verarbeitungsmöglichkeiten auf der CPU zu nutzen?

Die Abfrage umfasst 2-3 Facetten. Wenn wir facet.threads auf 2 oder 3 setzen, werden dann mehr CPUs benötigt?

Vielen Dank für jede Hilfe.

Antwort

0

Jede Solr-Anfrage wird von einem eigenen Thread bearbeitet und ist (fast) single-threaded für diese Anfrage. Ausnahme ist die Facettierung, bei der Sie die Anzahl der Threads erhöhen können.

Wenn mehrere gleichzeitige Anforderungen ausgegeben werden, werden sie jeweils in einem eigenen Thread ausgeführt. Mit Ihrer 8 CPU-Core-Maschine bedeutet dies, dass 8 gleichzeitige Anfragen alle 8 CPU-Kerne laufen lassen.

+0

Dank @Toke. Die Abfrage konnte nur teilweise verkürzt werden. Wenn wir eine Lister-Seite aktualisieren, dauert es 3 Sekunden. Wenn wir 10 Lister-Seiten in 3 Sekunden erstellen, fällt die Seite um. Unsere Entwickler fischen herum, aber ich denke, dass das Problem für sie zu niedrig ist. Sie behaupten, dass es an ihren Dev-Maschinen funktioniert, aber es funktioniert nicht im Live-Modus. Sie dürfen also weder in Solr noch in der eComm-App, die solr aufruft, die Konfiguration korrekt eingestellt haben (sie befinden sich auf demselben Rechner im Entwickler und auf verschiedenen Servern in Live). Irgendwelche Gedanken oder Konfigurationsbeispiele zu setzen? Sehr geschätzt. – Dan

+0

Übrigens ist die Ecomm-Anwendung hybris. Ich kann einfach nicht glauben, dass wir mit 10 gleichzeitigen Anfragen umkippen sollten, selbst wenn sie etwas groß sind? – Dan

+0

Es ist schwierig, Fragen zur Abfrageleistung zu beantworten, ohne zu wissen, was die Abfragen sind. Einige häufige Täter sind Gruppierungen, Facetten und hohe Zeilenanzahl = Millionen, aber ich rate dir, dass du den IRC-Kanal (#solr auf freenode) probierst, da es oft viel Interaktion braucht, um solche Probleme zu lokalisieren. Natürlich können Sie auch die Mailingliste ausprobieren oder Ihre Frage hier stellen. Versuchen Sie in diesem Fall Protokollzeilen einzubeziehen, die die vollständigen Abfragen und die Antwortzeiten enthalten. Beschreiben Sie auch kurz die Hardware- und Indexgröße in Beleganzahl und Bytes. –

Verwandte Themen