Edmon
Edmon

Reputation: 4872

Good Neo4J optimization settings

We are looking to load and analyze 100 million node Node4J graph on a 16 core, 48 GB ram machine.

We are doing this to do basic relational-vs-graph performance analysis.

We are looking into some set of recommended, default Neo4J settings (JVM, any Neo4J specific on caching, etc.) for the graph of this size and on a machine of specified hardware profile.

Please advise, Edmon

Upvotes: 0

Views: 1139

Answers (1)

Michael Hunger
Michael Hunger

Reputation: 41676

For loading use the Neo4j Batch inserter with a large heap (40G, mmio is part of the heap there). This is an example project on how to read csv files.

For the analysis go with the enterprise edition and use the GCR cache. You might want to have between 20-30G heap the rest of the memory for mmio.

Make sure to warm up the caches before you do the comparison. E.g. by iterating over GlobalGraphOperations.at(gdb).getAllNodes() | getAllRelationships().

To measure the maximum performance use the embedded database and the Neo4j Core API from java. What are the use-cases you're looking at?

Upvotes: 3

Related Questions