We have a Neo4j v3.0.4 Enterprise cluster running on a machine in AWS with 16 cores, and when we post a lot of requests for it, it seems to use no more than 40% of the processor (when viewed using htop it apparently uses only 6 cores?). Disk + network IO on the specified box all look slightly during the test.
The processor cover screen is the flat part when we click on it with a load:

Requests are sent to the database through a cluster from Spring applications for download using Spring Data Neo4j 4, and from our research it does not seem that these servers form any bottlenecks from memory, CPU and IO POV network.
We currently DO NOT use Bolt, and we do not use causal clustering; however, we plan to move towards both. However, is there anything that can cause this type of behavior? Can our database be configured incorrectly? Could this be a JVM level issue?
Any advice is greatly appreciated - thanks!
source share