Basic Performance Troubleshooting Steps

Begin with the following procedures:

  1. Go through the Troubleshooting Confluence Hanging or Crashing page to identify the major known performance problems
  2. Proceed with the Performance Tuning tips to help optimize performance
 

Requesting Basic Performance Support

If those tips don't help or you're not sure where to start, open a support ticket starting with at least the basic information:

  1. The atlassian-confluence.log
  2. The catalina.out log (or your application server log), with a series of three thread dumps separated by 10 seconds
  3. A description with as much detail as possible regarding:
    1. What changes have been made to the system?
    2. When did performance problems begin?
    3. When in the day do performance issues occur?
    4. What pages or operations experience performance issues?
    5. Is there a pattern?

Continue with as much of the Advanced Performance Troubleshooting information as you can.

Advanced Performance Troubleshooting

Please gather all of the information listed below and include it in your support request, even if you think you have a good idea what's causing the problem. That way we don't have to ask for it later.

System Information

Confluence Server

Confluence Content

The Database

User Management

Diagnostics

Observed Problems

Monitoring data

Before drilling down into individual problems, helps a lot to understand the nature of the performance problem. Do we deal with sudden spikes of load, or is it a slowly growing load, or maybe a load that follows a certain pattern (daily, weekly, maybe even monthly) that only on certain occasions exceeds critical thresholds? It helps a lot to have access to continuous monitoring data available to get a rough overview.

Here are sample graphs from the confluence.atlassian.com system, showing

Load
This graph shows the load for two consecutive days. The obvious pattern is that the machine is under decent load, which corresponds to the user activity, and there is no major problem.

Resin Threads and Database Connections


Active number of Java Threads

These two charts show the active threads in the application server (first chart) and the size database connection pool (second chart). As you can see, there was a sudden spike of server threads and a corresponding spike of db-connections.


The database connection pool size

The database connection pool size peaked over 112, which happened to be more than the maximum number of connections the database was configured for (100). So it was no surprise that some requests to Confluence failed and many users thought it had crashed, since many requests could not obtain the crucial database connections.

We were able to identify this configuration problem quite easily just by looking at those charts. The next spikes were uncritical because more database connections were enabled.

The bottom line being: it helps a lot to monitor your Confluence systems continuously (we use Hyperic, for example), and it helps even more if you are able to send us graphs when you encounter problems.

Access logs

Profiling and Logs

CPU Load

Instance Metrics and Scripts

Next Step

Open a ticket on https://support.atlassian.com and attach all the data you have collected. This should give us the information we need to track down the source of your performance problems and suggest a solution. Please follow the progress of your enquiry on the support ticket you have created.

If your site is non-responsive, please use our Live Support during business hours once you have created the ticket to escalate your problem.