Tuning Artifactory (Optional)

ARTIFACTORY: Installation Quick Start Guide - Docker-compose

AuthorFullName__c
Ino Choi
articleNumber
000005198
ft:sourceType
Salesforce
FirstPublishedDate
2022-01-13T19:31:41Z
lastModifiedDate
2024-03-13T09:49:24Z
VersionNumber
15
We have the following optional tuning section to optimize Artifactory for heavier loads - it is a good idea to keep these parameters in mind as your Artifactory instance takes on more load.
https://jfrog.com/knowledge-base/how-do-i-tune-artifactory-for-heavy-loads/

1. javaOpts (heap size) in system.yaml - we recommend at least setting this one:
shared:
  extraJavaOpts: "-Xms512m -Xmx4g"
shared:
  extraJavaOpts: "-Xms512m -Xmx4g"

2. Customize database connections in system.yaml:

artifactory:
  database:
    maxOpenConnections: 200
   
access:
  database:
    maxOpenConnections: 200

metadata:
  database:
    maxOpenConnections: 200

As a rule of thumb, we require (upto) a number of DB connections based on the following formula:

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

3. Tune Tomcat threads in system.yaml:

 

artifactory:
  tomcat:
    connector:
      maxThreads: 400

access:
  tomcat:
    connector:
      maxThreads: 100


When modifying the Access maxThreads, it is required to update the $JFROG_HOME/artifactory/var/etc/artifactory/artifactory.system.properties file with:

artifactory.access.client.max.connections = <VALUE>

4. Tune Async thread pool in the same file. Note the corePoolSize should not be more than 8x the number of CPU cores:

artifactory.async.corePoolSize = 32
artifactory.async.poolMaxQueueSize = 100000