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