How can I speed up Jira/Confluence

bartfriederichs November 16, 2015

I am quite new to the JIRA/Confluence system, but just having spent the better part of the day installing it (mainly sitting waiting until some task was done), I find it rather slow. Every time you click somewhere, I have to wait at least 5-10 seconds until something happens. Often much longer, also causing time-outs in my proxy. And this is even for trivial tasks like showing a user's profile.

I do not have a very heavy server, so I checked the system requirements, which told me a dual-core server should work fine.

My setup is as follows:

  • dual Intel Xeon, 1.8MHz
  • 2G RAM
  • 40G harddisk
  • Linux CentOS 7

What can I do to improve the performance of JIRA/Confluence?

4 answers

1 accepted

6 votes
Answer accepted
Mike Rathwell
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 17, 2015

Bart,

You didn't mention what DB you have behind Confluence. Given that it is a highly DB activity intensive application, that also makes a huge difference. I run mine on Windows 2012R2 (I have reasons for that as much as I prefer LInux for the platform) with a PostgreSQL DB. One of our other divisions run Confluence on a Debian distro with MySQL on an equivalent sized VM. With that difference and adding a couple of caching plugins so I can tune it, mine draws pages almost instantaneously while the one at the other division runs like a dog.

I might also comment that your host system is pretty tiny. Disk size is something that is repairable IF it has decent I/O but that just isn't enough RAM. Even for a small system, you should push to at least 4 and preferably 8GB then do some tuning on the java_opts at startup to increase heap size to JUST big enough (so you don't get into big GC issues. 

You also didn't mention the version of Confluence you're running; I can't remember which one it was but when they went from Java 7 to 8 and Tomcat 7 to 8, that was another enormous boost.

So.. based on what I see here the things to do are:

  1. Increase the RAM on your server and give tomcat some headroom to run in with creative java startup setting
  2. If you're using MySQL as the DB... just don't. Move to PostgreSQL and you'll notice a monumental performance gain
  3. Make sure none of your network traffic is going to a proxy server (if you're only internally facing). It's worth explicitly setting in the java startup where the proxy server is AND what the excluded domains etc are to keep traffic from routing up there and back
  4. Look at some of the caching plugins if you need after the other so you can start to tune some of the various other elements of Confluence

That coupled with the tuning article above should get it humming well.

 

bartfriederichs November 17, 2015

Thanks. i am in fact running PostgreSQL, and using the latest version of Confluence (just downloaded and installed yesterday. I agree on the RAM and will be adding more soon (it's a VM, so it should be easy).

Nic Brough -Adaptavist-
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 18, 2015

Point 2 on MySQL is a bit odd - MySQL is the second best choice in most cases. It used to be PostGreSQL, MySQL, Oracle and MS-SQL in a distant fourth place, but MS has been catching up. But MySQL is still in second place. In most cases.

Like Amir likes this
Mike Rathwell
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 18, 2015

Nic, I am looking at it with an (almost) apples to apples comparison between one on PostgreSQL and MySQL... That is the biggest diff I can see. Add in that a few weeks ago, Oracle had a big announcement about a new version of MySQL that was 3X faster than the previous version which "made it a competitive performer" (not X times faster than everything else. I agree that MySQL is a robust DB BUT I have consistently found it to be significantly slower than PostgreSQL (I USED to run on MySQL but migrated)

Nic Brough -Adaptavist-
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 18, 2015

My experience is that PostGreSQL is generally better than MySQL, by a little bit, so I'm not having a go at the position there, but to see and quote such a huge difference makes me think there's something wrong with your MySQL install. I've worked with probably hundreds of Jira installations, and never seen a big difference between PostGreSQL and MySQL performance or stability. PostGres squeaks ahead, and is easier to use, but the yawning chasm of the scale you describe is between MS-SQL (don't, just don't) and Oracle. The jump from Oracle to MySQL is a bit of a gap, but MySQL -> PostGres - negligible. (Although Oracle has been slipping down and MS-SQL rising up recently - the last couple of versions of Confluence have actually had fewer problems on MS than Oracle. Although they'd still be better off on MySQL or PostGres) It was more the utterly appalling performance of MS-SQL - which boils down to "Don't. Post-it notes work better" in most cases, and Oracle falls somewhere between MS and My.

Like Amir likes this
David O_Donoghue August 20, 2019

I moved over to Postgres from Mysql and modified dbconfig.xml to have more connections and it definitely is at least 50% quicker

3 votes
Nic Brough -Adaptavist-
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 16, 2015

What are you running it on (operating system) and what are the memory allocations you're giving to the systems (and allowing for the OS to keep running as well)?

Sorry, I should have said - if you're running it on Windows, check that what happens when you turn off any virus scanners (we can put them back on later, sort of, but they're known to destroy performance).  Also, the memory settings are the "-Jmx" type flags - best place to get them is from "system information" pages in both applications.

2 votes
Nicolas Bourdages
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 16, 2015

This article will help addressing the most common performance issues.

0 votes
Amir
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
July 25, 2022

Hello everyone

I have a question about Oracle 12 db. Is it fast enough or I should migrate to another db to experience a faster site?

And also how much hard is it to migrate from a db to another one?

Thanks 

Nic Brough -Adaptavist-
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 27, 2022

The database landscape hasn't hugely changed over the last seven years.

The short answer is you should use the database that you are most happy working with.  The difference in performance between well-maintained and well-configured databases is negligble.

If you really want to put them in order of "best" nowadays, it is

Postgres - it's the one Atlassian develop for and use for most of their services, so it gets the most attention.

Oracle or MySQL - joint second place for performance, stability, ease of use and so-on.  Oracle drops into third place if you consider the costs.  But there's not a big gap between them and Postgres.

MS-SQL - In last place simply because it's costly and harder to look after than the others.

But I can't emphasise enough that there's very little difference between them in terms of performance or functionality nowadays.  You should make your choice based purely on "what would our database server team want to support?"

Like Amir likes this
Nic Brough -Adaptavist-
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 27, 2022

Sorry, I forgot the most important point.

Whatever you choose, make sure it is a version that is supported by your target Jira version.

Like Amir likes this

Suggest an answer

Log in or Sign up to answer