Managing database connection pool in Jira Data Center
This insight is shown when your Jira Data Center's database connection pool utilization exceeds 80%.
What is internode latency?
Database connection pool utilization is the ratio of the number of active connections in the database connection pool relative to the total available connections. This metric is crucial for understanding the load on your database and ensuring that your Jira Data Center instance can handle concurrent requests efficiently.
Thresholds: | |
|---|---|
Optimal | Less than 0.8 |
Approaching limit | Between 0.8-0.95 |
Exceeding limit | Greater than 0.95-1 |
How does high Database connection pool utilization affect performance?
High database connection pool utilization can significantly impact Jira's performance. When the pool is near capacity:
Requests may queue, waiting for available connections
Response times can increase
In extreme cases, Jira may become unresponsive
For more details on how connection pool utilization affects performance, see Monitoring database connection usage.
What's the recommendation?
You should aim to keep the DB connection pool utilization below 80% to ensure optimal performance. If you're consistently exceeding this threshold, consider the following actions:
Increase the connection pool size
Optimize database queries
Review application concurrency
Monitor and alert on pool utilization
Increase the connection pool size
If your database server can handle more connections, increasing the pool size can alleviate high utilization:
Calculate the new pool size (current size * 1.25 is a good starting point)
Determine the maximum connections on the database server:
Max connections = dbConnectionsPerNode * numberOfNodesEdit the dbconfig.xml file in your Jira home directory
Update the <pool-max-size> value
Restart Jira to apply changes
Read more on Tuning database connections..
Optimize database queries
Inefficient queries can hold connections for longer than necessary:
Identify long-running or inefficient queries using monitoring database connection usage
Analyze and optimize problematic queries
Consider adding indexes where appropriate
Review application concurrency
High concurrency can lead to increased connection pool usage:
Check thread pool configurations
Adjust max threads if necessary
Consider implementing request throttling
For guidance on tuning Jira's memory and concurrency settings, see Tuning Jira's memory.
Monitor and alert on pool utilization
Set up ongoing monitoring to catch issues early:
Configure alerts for connection pool utilization
Monitor trends over time
Correlate with system load and user activity
Read more on Jira Data Center monitoring.
Additional considerations
Ensure your database server is properly configured to handle the number of connections. For MySQL-specific guidance, check connecting Jira applications to MySQL 8.0.
Consider the impact of database connection usage on your entire Jira Data Center cluster. For cluster-specific recommendations, check tuning HTTP and database connection pooling threads for Jira.