Monitoring Atlassian: Performance Tuning #4
There comes a point for most Atlassian systems where performance starts to dip. A lot of the organisations we help have had a look around their system but nothing looks immediately wrong. So what should you do next? In this series of blogs, we're sharing five crucial Atlassian Performance Tuning tips. This time we're looking at how monitoring Atlassian can help you with your diagnosis.
We all know that monitoring your systems is important to alert you to issues, but don't just stop there. Monitor everything. We've discussed response times already use this logged data and keep it monitored. If you haven't already, make sure you've got appropriate alerts set up for monitoring Atlassian's performance going forward.
Understand the health of the JVM
Java is the basis of all Atlassian products. There is a plethora of monitoring points within the Java Virtual Machine (JVM). In the simplest case, make sure you monitor your Garbage Collection statistics via either JMX or simply jstat. Beyond this, use the monitoring points within JMX to really get a deep understanding of the health and status of the JVM.
Monitor Atlassian's database
Atlassian products have a dependency on your SQL server. All database tools have their own monitoring points understand them and use them. One key component to keep track of is database worker threads. If there isn't one available to the application, it can be slow performance to a crawl.
Build KPIs and SLAs
The key message here is monitor everything the system, the application and the database. Understand and get a feel for the entire service, and include these metrics in your KPIs and SLAs. As we've discussed, there's a complex web of factors at play in the performance of JIRA, Confluence, Stash et al. From JVM and database to configuration and user behaviour. Fully monitoring Atlassian's components is crucial to making sense of what's happening.