Ich Neo4j die BatchInserter mit in einer großen Kurve, die eine unterschiedliche Anzahl von Beziehungen einzufügen (500 Millionen + Nodes)Neo4j BatchInserter langsam Abschaltung
Es ist außergewöhnlich schnell, viele 1000 von Beziehungen pro Minute eingeführt wird.
Aber die Abschaltung ist sehr langsam, dauert über eine Stunde, auch wenn nur eine kleine Anzahl von Beziehungen eingefügt wurden.
innerhalb org.neo4j.unsafe.batchinsert.BatchInserterImpl.shutdown()
Sehen, ich sehe, dass es eine Reihe von Operationen, die es macht, einschließlich repopulateAllIndexes()
Ich weiß nicht, welcher Teil der Abschaltung so lange dauert, aber wenn ich weiß für eine Tatsache, dass Die neuen Beziehungen beeinflussen keine Indizes. Lohnt es sich, die Unterklasse BatchInserterImpl
abzuleiten und einige dieser Abschaltvorgänge zu überspringen?
In dieser Phase wird auch sehr viel gespült. Ich schlage vor, Sie fügen einen Profiler an den Prozess (z. B. YourKit) und sehen, wo die Zeit tatsächlich verbracht wird. –