Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Next challenges

Recent achievements

  • Global
  • Personal


  • Give kudos
  • Received
  • Given


  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Performance tuning for confluence run as a service

Dear Team,

I am running confluence as a windows-service on a virtualized WIN10 64-Bit System. 

Due to the virtualization, the overall performace of confluence - as you can imagine - is limited.

That's why I wonder, whether there are some configuration hints on how to speed up the performance of the confluence window-based service? (I already tried to set the to process to 'Real-Time').

I am using a Postgres-DB, for which you might also have some recommendations in stock?

Maybe I should install Confluence + Postgres-DB on a Linux-System? Would that help with regards to increased performance? BTW: Which Linux do you recommend?

Am I permitted to download the Linux-Version for my Licence as well? I started with the Windows-Version?

Thanks a lot for your support.

K.rgds. Jörg. 

1 answer

1 accepted

0 votes
Answer accepted

I've not seen any noticable difference between "run in foreground" vs "run as a service" in terms of performance.

Running it in a VM on Windows does not change what you'll need to do for performance tuning - monitor it and investigate slowness when it happens.  The primary things are generally to make sure that the home directory (at least caches and indices) are on a fast local disk, and make sure there's enough memory for it to play with.

When it comes to the database, I'd always choose Postgres first, then MySQL, then Oracle and MS-SQL last, when given a free choice.  But that's just because Atlassian target Postgres first, and I've had increasingly poor experiences as you work down the list.  The difference between Postgres and MS-SQL is however tiny, and that's 1% of the decision.  The other 99% of weight in choice of database is "what does your organisation know best?"

As a general rule, you'll find Linux systems are faster than Windows.  I know there's a potential flame war there, but I'm afraid that deep down, even MS knows it's the truth.

However, again, you should stick with the OS that suits you best.  The bits of performance gain you might get from a swap to Linux are probably not going to compensate for your main problem here. 

If you do swap, then, yet again, the advice is "what you know best".  Atlassian target RedHat first, probably because of the support options for it, but that flows over fine into CentOS (as it's pretty much RedHat rebranded and without support options), and then Ubuntu as the next most popular option.  Frankly, it works fine on most - I can vouch for it running a little faster on Arch than CentOS (same hardware), but that's almost certainly because my Arch build was taking advantage of "only build what you need" and "dedicated build for this single machine", not that "it runs faster on Arch".

Your licence does not care what you are running the service on!  It'll even work on OS's Atlassian don't formally support.

Thanks Nic for the extensive answer. That helps!

One final question on that matter please - are there also configuration parameters for e.g. tomcat (increase memory, etc.) which probably could be changed to increase the performance?

Thank you Nic for your time :-).

PS. Just in case you know - let's say I build up a PostgresDB running in parallel on a linux system - which is the config file I have to edit to adust the connect parameters (IP, Port, DB-User, ...) in order to connect to the Linux based PostgresDB?

Daniel Ebers Community Leader Nov 13, 2020

Yes, there are settings in regards to memory and garbage collection parameters, through setenv.bat (on Windows systems).

Tuning them requires a good understanding of the values that can be adjusted there as well as probably a very well knowledge of the instance (who are my users?, how do they use the instance?, how do the access patterns look like? - do I have a 9-5 access pattern or do I use it across timezones?, do I have peaks?)

Please also kindly review the general documentation on that topic:

For the question to the database I understood it in a way you want to evaluate PostgreSQL probably. Please note that a productive operation "in parallel" is not possible but I might have misunderstand that part of the sentence.

You can adjust database connection settings in the file confluence.cfg.xml

Please find further information here on important directories - this also describes where you can find configuration files like confluence.cfg.xml in your system.

Like Nic Brough _Adaptavist_ likes this

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Confluence

Announcing Team Calendars in Confluence Data Center

Hi Community! We're thrilled to share that Team Calendars for Confluence is now a built-in feature for Confluence Data Center releases 7.11 and beyond.  A long time favorite,  Team Cale...

113 views 0 3
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you