Hello,
this document cover some tips to monitor UMP performance by looking at java metrics of the wasp probe.
Enable JMX and FlightRecorder in the wasp jvm
- Turn on JMX and FlightRecorder in the wasp jvm by adding this to the startup options (under wasp config GUI):
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:+UnlockCommercialFeatures -XX:+FlightRecorder
That will enable JMX to be open on port 9010.
NOTE: if this is a machine facing the internet, please make sure a firewall blocks access to this.
- Install JDK on a server from which we can connect to the UMP server.
NOTE: UIM only brings a JRE but you need a JDK.
Analyze jmx metrics using jvisualvm
- Run jvisualvm (“bin” directory of the JDK) and connect to port 9010 of the UMP server. We can now monitor thread activity and memory consumption.
Pay attention to these metrics:
NOTE: “WAIT” threads could indicate they are waiting for the DB.
(Optional) Record a Java Mission Control session so data can be examined remotely
This process will help us to record the jmx metrics while the bad performance condition is reproduced in the UMP.
1. Start MissionControl from bin directory of the JDK folder.
2. Connect to the UMP box on the exposed port (e.g. 9010) and record a 5-10 min session while there is activity in the UMP.
3. Once the profiling is done, we can dig deeper and review thread waiting times and performance issues.
Other resources
1. How to monitor heap space usage via jvm_monitor probe: How do I set up jvm_monitor to monitor heap memory?
2. If we determine that UMP performance is related to the underlying DB, there is an excellent Best Practices manual: Tech Tips: UMP (USM) Slow Performance Guide and Troubleshooting Checklist
Thanks to luech01 for the tips provided.
Nestor