Writing The (Not So) Dark Art of Atlassian Performance Tuning
Atlassian Summit is now over for 2013 and seems like a dim and distant memory. We were pleased to be able to sponsor and support the event by taking 11 of our staff. As well as delivering training, I was thrilled to deliver a talk The (Not So) Dark Art of Atlassian Performance Tuning.
The story of how I came to present on this subject is an interesting one. About two months before Summit, Atlassian approached us after they had identified a gap within their schedule they needed an Expert session covering performance-at-scale. With Adaptavist widely known as the performance tuning experts within the Atlassian ecosystem, we were an obvious choice.
Over the past five years, I've had the pleasure of giving a variety of performance talks to various audiences including to around 1,000 people at Devoxx in 2009. The message was broadly about how to understand the performance of a system from an operational point of view and how to be methodical in your approach to system diagnosis. It's a message that I still find people need to hear.
I proposed an Atlassian-focussed version of the Dark Arts presentation, concentrating on 4 key areas:
- Definition - what performance is and what affects it
- JFDI - basic things which should be done
- Methodology - how to approach the problem systematically
- Case in Point - a demonstration of how to put the methodology into action, and what goes wrong when you don't!
The most interesting, for me, of all those items is talking about what happens when you don't follow the methodology. We regularly come across people who are taking almost-random guesses and simply stabbing at the problem hoping that they will stumble across the solution. We rarely find that this approach results in an optimally-performing stable system.
Three perspectives on performance tuning
Given that Atlassian Summit attracts a variety of technical and business roles, I decided quite early to focus on delivering to three different audiences simultaneously. Each of these audience member types has an equally important impact on a system their actions can profoundly influence its performance.
- Users - it's all your fault! If it weren't for you, then there wouldn't be any performance problem. But seriously, it's important for power users to understand how their actions can impact the system.
- Application Administration - don't make a rod for your own back! Atlassian applications are very flexible and you can get yourself into a sticky situation if you're not careful.
- System Administrators - worry about more than CPU, RAM, disk and network! Understand the questions you need to ask and figure out how to answer them before they are asked.
Given that performance tuning is such a broad topic, squeezing enough detail for the talk to be useful to everyone in the audience was quite a challenge. Inevitably I had to skip some aspects including performance testing (both capacity and load), the tools that we recommend for getting the data needed and how to use them effectively. However, we will be covering these areas in forthcoming blog posts. Our aim is to add more context to the talk, which will soon be available online.
Keep CALM - the bigger picture
I ended the presentation talking about the bigger picture that is to say that while performance tuning is an important component of a healthy system, it's still only a component. There's a bigger picture to consider, which we call Complete Application Lifecycle Management or Adaptavist CALM for short.
Adaptavist CALM takes a holistic view of all the various people and processes in a system and looks at the tools and technology that helps them do what they need to do. It's worth highlighting that while this talk was focussed on Atlassian performance tuning, the principles and processes are more widely applicable to not just Java systems but the monitoring and management of any system.
- If you've seen the presentation and it left you with any questions, you can get in touch either via Twitter or our contact form. We'll try to address your points in future posts.
- If you'd like assistance with any of your performance tuning problems, don't hesitate to contact us.
- If none of this was new to you or if you're really, really good. We're hiring. Get in touch.