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:

  1. Requests may queue, waiting for available connections

  2. Response times can increase

  3. 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:

  1. Calculate the new pool size (current size * 1.25 is a good starting point)

  2. Determine the maximum connections on the database server:

    Max connections = dbConnectionsPerNode * numberOfNodes
  3. Edit the dbconfig.xml file in your Jira home directory

  4. Update the <pool-max-size> value

  5. Restart Jira to apply changes

Read more on Tuning database connections..

Optimize database queries

Inefficient queries can hold connections for longer than necessary:

  1. Identify long-running or inefficient queries using monitoring database connection usage

  2. Analyze and optimize problematic queries

  3. Consider adding indexes where appropriate

More on performance tuning.

Review application concurrency

High concurrency can lead to increased connection pool usage:

  1. Check thread pool configurations

  2. Adjust max threads if necessary

  3. 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:

  1. Configure alerts for connection pool utilization

  2. Monitor trends over time

  3. Correlate with system load and user activity

Read more on Jira Data Center monitoring.

Additional considerations


Last modified on Jan 23, 2025

Was this helpful?

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