Jira Software Server and Data Center is faster with the new versions of PostgreSQL

Kamila Czubaj
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 21, 2020

Hello, Community!

My name is Kamila and I'm a Product Manager on Server and Data Center products here at Atlassian. Recently, we have shared with you some updates regarding database support for Server and Data Center products. As it has been mentioned in the earlier blogpost, Server and Data Center teams are committed to adding support for new versions of popular databases, so that our customers can use modern technology to power Atlassian applications.

Only within the last couple of months in two of the most recent Jira Software Server and Data Center releases, we have announced support for PostgreSQL 10 (Jira 8.6) and PostgreSQL 11 (Jira 8.7), Postgres 10 will be backported to Jira 8.5 ER.

As PostgreSQL is the most popular database among our Server and Data Center customers, I wanted to share the results of performance tests which show some of the benefits coming from upgrading to newer versions of PostgreSQL.

We have tested Jira against three versions of PostgreSQL

  • PostgreSQL 9.6
  • PostgreSQL 10.11
  • PostgreSQL 11.6

Here are some of the main takeaways

  • For the majority of basic actions (including “create issue”, “view issue”, “view board”, “view backlog”), Jira performs best with PostgreSQL 11.6 version

  • We can see incremental performance improvements with every newer version of the DB (i.e. Jira is overall faster with PostgreSQL 10 than with version 9 and faster with ver 11 compared to ver 10)

  • Performance improvement between version 9.6 and 11.6 for (some actions) ranges from 2.85% to 7.44%

performance improvements.png

  • For actions where performance is worse for version 11.6 compared to 9.6, the decrease ranges from 1.99% to 7.13%

decrease performance.png

Full results

95th percentile [ms] - less better_green.png

How did we run the tests?

The following section details the testing tool and methodology we used in our performance tests.

To be able to do the testing, we needed to extend the capabilities of our internal testing tool - Jira Performance Tests. The tool is open-sourced at Github. To get JPT to run tests for PostgreSQL databases, we modified sub-modules and the main module of the tool written in Kotlin. In addition, we had to regenerate data sets for Postgres 9.6, 10, 11. The most challenging part of this project was to generate testing data sets, because of the size of data ~12GB per database and reindexing time.

We chose a mix of actions that would represent a sample of the most common user actions. An action in this context is a complete user operation like opening of an Issue in the browser window. The following table details the sample actions that we included in the script for our testing persona.

action table.png

The performance tests were all run on a set of AWS EC2 instances. For each database, the entire environment was reset and rebuilt, and then each test started with some idle cycles to warm up instance caches.

Conclusions

If your organization uses the PostgreSQL database in your Jira deployment, I hope these results will help you decide on upgrading your database version. As you can see the choice of the database version may contribute to the overall performance of your Jira Software Server or Data Canter.

Looking forward to your comments and observations.

Thank you,

Kamila

0 comments

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events