Neo4J load distribution

6/5/2018

We have neo4j configured in casual cluster on Kubernetnes based setup. All components are deployed on individual machine with size: t2.xlarge on aws. And we use pod affinity to schedule a deployment. While working with application under stress, we observed that there is considerable system load only one machine. For example see this: First neo4j machine for core: enter image description here

and second machine for core in same cluster: enter image description here

We have bolt+router protocol configured in backend. I am not sure what causing this much resource utilization on one machine whereas others work in minimum.

I checked memory consumption on pod level as well. Neo4j-1 takes 9gb of memory whereas others are taking around 4gb. So my questions is, is this expected behavior?

-- Swapnil B.
kubernetes
neo4j

1 Answer

6/26/2018

I am posting my findings as answer. Not sure if its correct though. I checked status of each instance in neo4j using monitoring api's: http://localhost:7474/db/manage/server/core/writable This will give leader as True and False for followers. This could be the reason leader takes high resources while others are not taking much. Ref link:https://neo4j.com/docs/operations-manual/current/monitoring/causal-cluster/

-- Swapnil B.
Source: StackOverflow