Wir haben ein Elasticsearch Cluster mit 9 Knoten mit den folgenden Einstellungen:Unbalanced Elasticsearch Leistung
- Elasticsearch Version 5.1.2
- Ein Index in Cluster
- Primärsplitter Speichergröße: 3GB
- Anzahl von Scherben: 5
- Nummer des Replikats: 3
- Node-1, Node-2 und Node-3 nur Master Nodes
- Knoten-4 bis Knoten-9 Data Only Knoten
- Nein Eltern Kind Beziehung in Mappings
- Jeder Knoten 24 GB Ram, 18 Cores von CPU
- Disabled swaped, Erhöhte Open File Descriptor, 12 GB JVM Heap Speicher
- Nest-Client ‚Static‘ Adapter und eine Liste aller Knoten IPs
Wie Sie sehen wir haben eine über Zuweisung von Ressourcen auf unsere Knoten aber unter Stress-Test nur ein Knoten alle verwendet es verfügbar Suche Threads. Wie ich bereits erwähnt habe, haben wir 18 Kerne und entsprechend der Standard-Such-Thread-Grenze haben wir (3 * 18/2) +1 = 28 Such-Threads in jedem Knoten.
Probleme:
- HTTP-Anforderungen Nicht Balanced
- Andere Knoten, die alle ihre Suche nicht Threads verwenden. Ein Knoten verwendet Es ist alle Threads und es ist Suche Warteschlange groß wird
Was haben wir getestet:
- Verwenden Sie einen Koordinatorknoten zu balancieren Anforderungen (keine Änderung)
Wie wir Anfragen senden:
- Wir verwenden Elasticsearch als Suchmaschine und Jmeter
wird verwendet, um Stresstest auf Suchdienste zu setzen. Prüfdienstleistungen sind Web-Services, die Elasticsearch Nest Client
Jede Idee ist willkommen mit einigen SearchTemplates nennen.
Danke Reza. Aber wie ich in meiner Frage erwähnt habe, verwenden wir 'Nest Client 'Static' Adapter und Liste aller Nodes IPs ' –