In this sample deployment, we will refer the large sizing documents here. It is important to validate the actual resources available on your worker nodes to ensure there are sufficient resources to host these pods.
For further sizing recommendations, please refer to the relevant documentation hereIf you notice that Artifactory is underperforming despite having ample physical resources, we recommend reviewing the tuning section in the glossary for optimization tips.
Artifactory now supports active-active clustering; therefore, we will only scale the primary StatefulSet in the HA chart, leaving the node.replicaCount set to 0.
We will incorporate these properties into the values.yaml file.
splitServicesToContainers: true
artifactory:
primary:
replicaCount: 3
podAntiAffinity:
type: "hard"
resources:
requests:
cpu: "2"
memory: 10Gi
limits:
# cpu: "14"
memory: 12Gi
javaOpts:
other: >
-XX:InitialRAMPercentage=40
-XX:MaxRAMPercentage=65
-Dartifactory.async.corePoolSize=80
-Dartifactory.async.poolMaxQueueSize=20000
-Dartifactory.http.client.max.total.connections=100
-Dartifactory.http.client.max.connections.per.route=100
-Dartifactory.access.client.max.connections=125
-Dartifactory.metadata.event.operator.threads=4
-XX:MaxMetaspaceSize=512m
-Djdk.nio.maxCachedBufferSize=524288
-XX:MaxDirectMemorySize=512m
tomcat:
connector:
maxThreads: 500
extraConfig: 'acceptCount="800" acceptorThreadCount="2" compression="off" connectionLinger="-1" connectionTimeout="120000" enableLookups="false"'
database:
maxOpenConnections: 100
extraEnvironmentVariables:
- name: MALLOC_ARENA_MAX
value: "8"
- name: SKIP_WAIT_FOR_EXTERNAL_DB
value: "true"
access:
tomcat:
connector:
maxThreads: 125
javaOpts:
other: >
-XX:InitialRAMPercentage=20
-XX:MaxRAMPercentage=60
database:
maxOpenConnections: 100
resources:
requests:
cpu: 1
memory: 2Gi
limits:
# cpu: 2
memory: 3Gi
extraEnvironmentVariables:
- name: MALLOC_ARENA_MAX
value: "8"
- name: SKIP_WAIT_FOR_EXTERNAL_DB
value: "true"
router:
resources:
requests:
cpu: 400m
memory: 800Mi
limits:
# cpu: "8"
memory: 2Gi
frontend:
resources:
requests:
cpu: 200m
memory: 300Mi
limits:
# cpu: "3"
memory: 1Gi
metadata:
database:
maxOpenConnections: 100
resources:
requests:
cpu: 200m
memory: 200Mi
limits:
# cpu: "4"
memory: 1Gi
onemodel:
resources:
requests:
cpu: 200m
memory: 160Mi
limits:
# cpu: "1"
memory: 250Mi
event:
resources:
requests:
cpu: 100m
memory: 50Mi
limits:
# cpu: 500m
memory: 250Mi
observability:
resources:
requests:
cpu: 100m
memory: 50Mi
limits:
# cpu: 500m
memory: 250Mi
jfconnect:
resources:
requests:
cpu: 50m
memory: 100Mi
limits:
# cpu: 500m
memory: 250Mi
topology:
resources:
requests:
cpu: 100m
memory: 1000Mi
limits:
memory: 1500Mi
extraEnvironmentVariables:
- name: MALLOC_ARENA_MAX
value: "8"