Database Tuning for Heavy Loads in Artifactory

Tune JFrog Artifactory database performance under heavy loads by adjusting maxOpenConnections in system.yaml to control the connection pool across all nodes.

To control how many connections an Artifactory node can open to the database, modify the maxOpenConnections parameter in system.yaml.

  • The default value of maxOpenConnections is 100.
  • Set this value in the artifactory, access, and metadata sections of system.yaml.
  • After you set the value, the Artifactory node opens that many database connections.
  • Verify that the database can accommodate the total number of connections all Artifactory nodes can open.

Use the following formula to determine the value of the parameter.

Total number of connections = (number of nodes) * ((artifactory.database.maxOpenConnections * 2) + access.database.maxOpenConnections + metadata.database.maxOpenConnections) + 50 

The additional 50 are to provide extra capacity for situations where all database connection pools are exhausted.

The following sample shows an example system.yaml configuration.

artifactory:
  database:
    maxOpenConnections: 300
...   
access:
  database:
    maxOpenConnections: 300
...
metadata:
  database:
    maxOpenConnections: 300