Managing database connection pool in Confluence Data Center
This insight appears when your database connection pool utilization exceeds 70%. This metric represents how many of your available database connections are actively being used. For Data Center environments, properly managing database connections is crucial - too few connections create bottlenecks, while too many can overwhelm your database server.
Thresholds: | |
---|---|
Optimal | Less than 0.7 (70% utilization) |
Requires attention | Between 0.7-0.9 (70-90% utilization) |
Needs attention | Greater than 0.9 (90% utilization) |
How does large index size affect performance?
High database connection pool utilization can impact your instance in several ways:
Requests queue up waiting for available connections
Slower page loads and content saves
Background tasks (like notifications and indexing) may slow down
Potential timeouts during peak usage
Overall system performance degradation
What's the recommendation?
To optimize your database connection pool, follow these recommendations:
Increase connection pool size
Calculate and implement appropriate pool sizing:
Calculate optimal size:
Per Node Connections = HTTP Threads × 0.25
Total Pool Size = Per Node × Number of Nodes + Buffer
Update configuration:
Locate confluence.cfg.xml in local-home directory
Update database connection pool settings according to your calculated values
Restart nodes gradually to apply changes
Verify changes:
Monitor connection usage
Check for connection warnings
Observe system performance
Learn about database connection tuning
Optimize database queries
Improve query efficiency to reduce connection hold times:
Review current performance:
Check slow query logs
Analyze query patterns
Identify resource-intensive operations
Implement improvements:
Optimize problematic queries
Add appropriate indexes
Review custom scripts
Audit app database usage
Explore database performance tuning
Adjust concurrency settings
Align thread pools with database capacity:
Configure thread pools:
Go to Administration > System Configuration
Review current thread settings
Adjust based on connection pool size
Manage request flow:
Set appropriate timeouts
Configure statement limits
Implement request throttling if needed
Refer to HTTP maxthreads configuration for detailed instructions.
Preventive measures
Keep your database connections healthy by implementing regular monitoring and maintenance:
Set up monitoring alerts
Configure alerts for connection utilization and response times. Track query performance patterns to catch issues before they affect users.
Review and adjust regularly
Check connection usage patterns monthly and adjust pool sizes based on actual needs. Update your maintenance plan quarterly to match your instance's growth.