How can I speed up Jira/Confluence

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?

3 answers

1 accepted

This widget could not be displayed.

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.

 

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).

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.

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)

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.

This widget could not be displayed.

This article will help addressing the most common performance issues.

This widget could not be displayed.

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.

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Tuesday in Jira

What modern development practices are at the heart of how your team delivers software?

Hey Community mates! Claire here from the Software Product Marketing team. We all know software development changes rapidly, and it's often tough to keep up. But from our research, we've found the h...

264 views 1 3
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you