The following are more specific performance problems that can be resolved from tuning the cache.
This is a known problem, please refer to CONF-11858 for the solution.
If your installation of Confluence is suffering from this problem, it may be due to a insufficient SpacePermissions cache size. To address this problem, first determine the number of space permission objects in your Confluence instance. You can do this by running this query against your database:
> select count(*) from SPACEPERMISSIONS |
Now locate the cache entry for SpacePermissions in your confluence-coherence-cache-config.xml:
<local-scheme>
<scheme-name>cache:com.atlassian.confluence.security.CachingSpacePermissionManager.permissions</scheme-name>
<scheme-ref>default</scheme-ref>
<high-units>10000</high-units>
<expiry-delay>0s</expiry-delay>
</local-scheme>
|
Adjust the maxElementsInMemory or high-units property to the number of space permissions you have (in the example above, I've used 10000). Also, just as important, you need to adjust the timeToLiveSeconds or expiry-delay property to 0.
Note: 10K of space permissions consumes approximately 8MB of memory. Please ensure there is enough memory allocated to your instance to cater for this.
confluence/WEB-INF/classes/com/atlassian/confluence/admin/actions/cache-name-mappings.properties.com/atlassian/confluence/core/ConfluenceActionSupport.propertiesconfluence-2.x.*.jar file.Find the appropriate <cache-mapping> tag in confluence-coherence-cache-config.xml or confluence-coherence-cache-config-clustered.xml. If the tag doesn't exist, you can create it within the <caching-scheme-mapping>tag.
Attached to this page are corrected copies of confluence-coherence-cache-config.xml and confluence-coherence-cache-config-clustered.xml. These are updated from a bug CONF-11857. |
The <scheme-name> will correspond to a <local-scheme>tag below. It refers to a scheme reference. Either change the high-units tag in the scheme reference, or add a high-units tag to override the scheme reference. For example, the following tag would change the Content Bodies cache from the default 1000 units to 2000 units:
<local-scheme> <scheme-name>cache:com.atlassian.confluence.core.ContentEntityObject.bodyContents</scheme-name> <high-units>2000</high-units> <scheme-ref>default</scheme-ref> <expiry-delay>0s</expiry-delay> </local-scheme> |
Another popular cache to change is the LDAP related User cache:
<local-scheme> <scheme-name>user</scheme-name> <scheme-ref>default</scheme-ref> <high-units>5000</high-units> <expiry-delay>300s</expiry-delay> </local-scheme> |
confluence/WEB-INF/classes/ directory. The file in this directory will override the settings in your jar file. If you want to back out the changes, you only need to remove the file from your confluence/WEB-INF/classes/ directory — then the default values in the confluence-coherence-cache-config.xml located in your jar file will apply.You can find more information about configuring the Coherence cache in the Coherence cache documentation.
Cache Performance Tuning
Confluence Cache Schemes
Working with Confluence Logs
Operating Large or Mission-Critical Confluence Installations
Confluence Clustering Overview
Requesting Performance Support
Confluence Administrator's Guide
Configuring Confluence