Memory constrains graph size, disk I/O constrains read/write performance, as always.
CPU
Performance is generally memory or I/O bound for large graphs, and compute bound for graphs that fit in memory.
- Minimum
- Intel Core i3
- Recommended
-
Intel Core i7
IBM POWER8
Memory
More memory allows even larger graphs, but needs to be configured properly to avoid larger garbage collection operations. See Section 24.3, “Performance Guide” for suggestions.
- Minimum
- 2GB
- Recommended
- 16—32GB or more
Disk
Aside from capacity, the performance characteristics of the disk are the most important when selecting storage. Neo4j workloads tend significantly toward random reads. Prefer media with low average seek time: SSD over spinning disks. Consult the section called “Disks, RAM and other tips” for more details.
- Minimum
- 10GB SATA
- Recommended
- SSD w/ SATA
Filesystem
For proper ACID behavior, the filesystem must support flush (fsync, fdatasync). See the section called “Linux filesystem tuning” for a discussion on how to configure the filesystem in Linux for optimal performance.
- Minimum
- ext4 (or similar)
- Recommended
- ext4, ZFS
Software
Neo4j requires a Java Virtual Machine to operate. Community Edition installers for Windows and Mac include a JVM for convenience. Other distributions, including all distributions of Neo4j Enterprise Edition, require that the JVM be provided.
- Java
-
IBM Java 8 (POWER8 only)
- Operating Systems
-
Linux, HP-UX, Windows Server 2012 for production
Additionally, Windows XP and Mac OS X for development
- Architectures
-
x86
OpenPOWER (POWER8, requires IBM Java or OpenJDK, version 8)
Important
It is strongly recommended to use an up-to-date Java release as there are issues in early versions of Java 8 that are known to adversely affect Neo4j. |