Performance Tuning Atlassian #3: Use a reverse proxy

Performance Tuning Atlassian Applications - Response times

Performance tuning Atlassian applications can often be obscured by what else is happening in your set-up. In this blog we outline how to get rid of the things that stop you understanding the real response times of your Atlassian application.

Implement a reverse proxy

One of the most basic architectural changes that you can make to help you to resolve performance issues is to implement a reverse proxy. At Adaptavist, we typically use Apache HTTPd. Using a reverse proxy allows you to implement a number of really useful features into your Atlassian instance(s).

Use caching to tidy up

Typically each request that you make to the system will go from the browser, to the Java webserver, through to the application, then either to the database or the filesystem on the server itself. With caching within your reverse proxy, you are able to remove both Java and the database from the equation with most requests. This is ideal for static elements, such as images, style sheets and Javascript code. A word of warning though – understand what you’re caching – you don’t want to fill your cache up with individually generated elements!

Move SSL termination out of Java

Performing SSL termination within Java adds an unnecessary overhead to your application. By pulling this out to a dedicated resource can significantly improve your response times.

Start logging response times

Finally, and most importantly, the reverse proxy will allow you to log response times. This will allow you to time box your requests, understand and analyse your usage profiles. This data is invaluable in performance-related investigations, and should be your go-to data for analysing change to the system – after all, what is performance other than response time?

Adaptavist have helped hundreds of clients with performance tuning Atlassian applications for peak performance. For more information about Adaptavist and our services, contact us now.