Confluence guardrails

Background

We’re committed to supporting the needs of our largest customers, and this includes continually improving the performance and scalability of our products. The amount of data in your instance can be a factor in performance and stability problems. As your instance grows, so does your risk of performance degradation over time. Often this is a gradual degradation and can go unnoticed until you reach a point where it has a significant impact on your team.

In the table below, we’ve described the performance and stability impacts that we’ve observed and suggested some actions you can take to reduce your risk. The guardrails are based on real-world experiences with some of our largest customers, but won’t necessarily be representative of every organization’s experience.

Ways you can reduce the risk of experiencing serious performance and stability problems may include:

  • application changes, such as upgrading to a newer application version to get the benefit of performance improvements, or changing the way users are managed.

  • infrastructure changes, such as increasing memory, CPU, or running a cluster or mirrors.

  • data cleanup activities to reduce your footprint, such as archiving or breaking up monolith sites.

It’s important to note that these aren’t hard limits, and some of your product instances may already exceed these thresholds. There are a number of factors, including the interplay between different data types, and site load, which will influence whether you experience the potential impacts listed below, and to what degree. As with any type of risk, it’s essential to identify the risk and make a plan, so you can prioritise those actions that will help you reduce the probability of future performance problems.

Definition

Product Guardrails are data type recommendations designed to help you identify potential risks and aid you making decisions about next steps in your instance optimization journey.

Confluence guardrails

The following guardrails are provided to help you identify and mitigate scale risks, and make decisions about cleaning-up your instance.

Index size

Content type

Total size of the index files in the home directory

Guardrail

30GB total file size, or

10,000,000 ‘Current versions’ items

How to find this number

How to check the size of your index

Risks

We've observed these problems when operating above this guardrail:

  • Slow search results.

  • Querying data from the index takes a long time.

  • Reindex takes a long time.

Mitigation options

  • Use SSD disks for your local home and shared home directories. This can improve how quickly Confluence can add, update, or retrieve information from the index.

  • Don’t index the content of attachments if you don’t need the contents to be searchable. Learn how to disable indexing attachments

  • Delete spaces that are no longer needed. Learn how to identify and remove unused spaces

  • Migrate some spaces to Cloud to reduce the size of your Data Center instance. Learn how to migrate individual spaces to Cloud

  • Consider splitting your site into 2 or more instances. If splitting your instance is a viable option for your organization, we strongly recommend you to get assistance from a Atlassian Partner to successfully execute the split, and get advice on federating your instances.
     

Other factors that can impact search performance...
  • Permission complexity. When searching, Confluence needs to check whether the user is permitted to see the content.
  • Database type and performance, This is because permissions are not indexed and must be checked against the database. We’ve observed that PostgreSQL databases are more efficient to check permissions than the other supported types.
  • Network latency between the database and application node affects how quickly the application can write to the index. Hosting the database and application nodes in the same availability zone can help.

Spaces

Content type

Total number of spaces

Guardrail

10,000 spaces

How to find this number

Check the number of spaces in your site

Risks

We've observed these problems when operating above this guardrail:

  • High memory and CPU consumption whenever Confluence needs to perform permission checks to determine what pages display, for example on the dashboard, and in macros.

Mitigation options

Space size (for import)

Content type

Total number of pages, blogs, attached files, version history, and trash in a single space

Guardrail

Total size of 5GB for the entities.xml file within the space export zip file.

How to find this number

Check the size of a space before importing

Risks

We've observed these problems when operating above this guardrail:

  • Out of memory errors when importing a space, which could result in application crashes.

  • High CPU and memory consumption when importing a space, which affects overall performance of the site.

Mitigation options

  • Split the space prior to export. Move some parts of the page tree to a new space, import both spaces, then move the pages back to the main space.

  • Use retention rules to reduce the number of page and attachment versions, and items in the trash (expected to be available from Confluence 7.16)

  • Consider apps like Better Archiving for Confluence and Script Runner to reduce the size of the space.

LDAP users

Content type

Total number of users synchronised between LDAP and Confluence

Guardrail

If using Microsoft Active Directory:

  • 100,000 users

If using another connector:

  • 70,000 users

How to find this number

How to get the number of users or groups

Risks

We've observed these problems when operating above this guardrail:

  • Full sync takes a very long time.

  • Potential for high CPU and memory consumption when identifying group memberships during permission checks.

Mitigation options

  • If you use Microsoft Active Directory, enable incremental synchronization. This fetches changes from LDAP, avoiding the need for a full sync.

  • Use Crowd to take advantage of features like:

  • Use the User, Group, and Membership schema configuration filters to restrict the data synchronised with Confluence. Learn how to connect to an LDAP directory 

LDAP groups

Content type

Total number of groups synchronised between LDAP and Confluence

Guardrail

If using Microsoft Active Directory:

  • 30,000 groups

If using another connector:

  • 20,000 groups

How to find this number

How to get the number of users or groups

Risks

We've observed these problems when operating above this guardrail:

  • Instance instability, including performance degradation and potential outages when Confluence is under high load

  • Directory synchronization takes a long time

  • User authentication can take longer than expected

  • Application access and group management admin screens can become unresponsive

Mitigation options

Depth of nested groups

Content type

Number of levels of hierarchy when groups are nested

Guardrail

4 levels deep.

We also recommend groups do not contain a mix of users and other groups, as this can also influence performance.

How to find this number

You can’t get this number directly from Confluence. You’ll need to look at the hierarchies defined in your external directory.

Risks

We've observed these problems when operating above this guardrail:

  • Instance instability, including performance degradation and potential outages when Confluence is under high load

  • Directory synchronization takes a long time

  • User authentication can take longer than expected

Mitigation options

  • Change the group structure in your directory to avoid having too many levels of nesting

  • Change the group structure in your directory so that groups only contain either users or other groups.

Last modified on Aug 22, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.