Using JMX to Profile Neo4j Via JDK and VIsualVM
Join the DZone community and get the full member experience.Join For Free
it might be necessary to use jmx to profile neo4j, which we are currently doing to address performance issues with neo4j in combination with windows azure.
the first thing you will need to configure is additional switches in the neo4j-wrapper.conf file, here are mine:
notice, that i am using a port number here, and this will allow remote jmx profiling, the reason for this is that in azure, the neo4j instance runs in a different user context than the remote desktop user, so we need a way to attach to the process, with visualvm, we can do this via remote jmx.
just add the neo4j jmx listener as a remote host. then, if using the azure cloud:
- remote desktop into the worker role hosting neo4j
- install the jdk
- install visualvm
- configure the jmx connectionas outlined below
right click local and click add jmx connection:
from here we can now do profiling of the neo4j application.
Published at DZone with permission of Romiko Derbynew, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.