How do I tune Artifactory for heavy loads?

To tune Artifactory for heavy loads, please see our suggestions below:

 

Tune MySQL for Artifactory: Our documentation includes suggestions for your my.cnf file, so that you can tune MySQL for best performance.

 

Increase JVM Memory Allocation:Please modify your JVM Memory Allocation, and please make sure you are following our hardware recommendations.
 

For a more thorough read on Artifactory tuning, please read our article Monitoring and Optimizing Artifactory Performance.

$ARTIFACTORY_HOME/etc/db.properties (formerly the storage.properties file in Artifactory 4.x):

Setting: pool.max.active

Default value: 100

Example: 400

Description: Each instance will have its own pool with 400 max connections to the database.

 

$ARTIFACTORY_HOME/etc/artifactory.system.properties:

Setting: artifactory.async.corePoolSize

Description: The number of async processes that can run in parallel

Default value: machine cores x4

Example: 1024

 

Setting: artifactory.async.poolMaxQueueSize

Description: Number of processes that can be queued

Default value:10000

Example:100000
 

Artifactory's Tomcat '$ARTIFACTORY_HOME/tomcat/conf/server.xml' file:

For HTTP:

<Connector port="8081" maxThreads="2048" minSpareThreads="200" enableLookups="false" backlog="100"/>

For AJP:
<Connector port="8019"  protocol="AJP/1.3" maxThreads="2048" minSpareThreads="200" enableLookups="false" backlog="100"/>

Note: Please only update the port(s) relevant for your setup, as defining both will allocate the minSpareThreads for both and could result in unused threads on one of the connectors (200 threads in the example above)

maxThreads default value: 200

Example: 2048
Description: The maximum number of simultaneous requests that can be handled(by Tomcat).