Neo4j Server für Daten-Import konfigurieren - Tutorial

Die Konfiguration eines System ist ja bekanntlich ein sehr wichtiger Schlüssel zum Erfolg. Weist man einer Anwendung zu wenig Ressourcen zu, so kann sie sich nicht richtig entfalten. Daher zeige ich euch nun die beiden hauptsächlichen Stellschrauben, welche maßgeblich euren Import beschleunigen können.

Linux-System mit 30GB RAM

Ich verwende für den Import 30GB RAM. Die CPU spielt zwar auch eine Rolle, allerdings nur nebensächlich, was die Konfiguration des Servers anbelangt und wird daher hier ignoriert.

Um zu schauen wie viel RAM auf eurem System zur Verfügung steht, gibt einfach free -m ein und nun seht ihr links oben nach was euch angezeigt wird. In meinem Fall sind es 30679.

Hinweis: Folgende Änderungen beziehen sich auf die hier verwendete RAM-Größe. Bei Abweichungen solltet ihr auch die folgenden Werte entsprechend erhöhen bzw. verringern!

Neo4j-wrapper.conf

Wir gehen mit nano /var/lib/neo4j/conf/neo4j-wrapper.conf in die Wrapper-Config-Datei von Neo4j. Dort setzen wir:

  • wrapper.java.initmemory=8000
  • wrapper.java.maxmemory=8000

jeweils auf 8000 und kommentieren die beiden Zeilen ein. Damit haben wir dann mehr als genug RAM für unseren Import reserviert.

Neo4j.properties

Die zweite wichtige Datei erreichen wir mit nano /var/lib/neo4j/conf/neo4j.properties. Dort sind die ersten 4 Zeilen wichtig:

  • neostore.nodestore.db.mapped_memory=1G
  • neostore.relationshipstore.db.mapped_memory=5G
  • neostore.propertystore.db.mapped_memory=2G
  • neostore.propertystore.db.strings.mapped_memory=2G

auch hier wieder einkommentieren und Werte abändern. Wir haben damit den Speicher für die unterschiedlichen Komponenten gesetzt. Der letzte Eintrag #neostore.propertystore.db.arrays.mapped_memory=130M ist irrelevant, da wir keine Arrays verwenden. Prüfe bei dir ggfs. das noch einmal nach.

Neo4j Server neustarten

Am Ende, wie nach jeder Änderung, ist ein Neustart von Neo4j notwendig. Dazu /var/lib/neo4j/bin/neo4j restart in die Konsole und euer Import sollte nun schneller vonstatten gehen.

Fazit

Zwar sind die Änderungen nur bedingt hilfreich, da Neo4j schon selber "gute" Werte ermittelt. Allerdings kann es nie schaden, selbst das System einzurichten und zu wissen welche Einstellung gerade aktiv ist.

Kommentar schreiben

Kommentare: 0