Hardware Sizing Matrix

Artifactory sizing: 4 cores/6 GB (0–20 clients), 6 cores/12 GB (21–100), 8 cores/18 GB (101–200). Xray scales by indexed artifacts.

Artifactory Hardware Sizing

JFrog Artifactory sizing depends mainly on the number of active clients.

Use the following matrix to select a baseline profile, then adjust for your repository size, package types, and concurrency pattern.

Number of Active ClientsProcessor (CPU)Memory
0–204 core6 GB
21–1006 core12 GB
101–2008 core18 GB
201+Contact JFrog SupportContact JFrog Support

Xray Hardware Sizing

JFrog Xray sizing requirements are determined by the scale of your environment.

Use indexed artifact count as the primary decision input.

Indexed ArtifactsXray NodesCPU (per node)Memory (per node)Xray DiskDatabaseRabbitMQ
Up to 100,0001624 GB500 GB SSD
(3000 IOPS)
500 GB SSD
(3000 IOPS)
1 node: 4 CPU, 8 GB, 100 GB SSD
Up to 1,000,000248 GB300 GB per node8 CPU, 32 GB, 500 GB SSD
(3000 IOPS)
3 nodes (split): 4 CPU, 8 GB, 100 GB SSD each
Up to 2,000,0003612 GB300 GB per node16 CPU, 32 GB, 1 TB SSD
(3000 IOPS)
3 nodes (split): 4 CPU, 8 GB, 100 GB SSD each
Up to 10,000,0003824 GB300 GB per node16 CPU, 64 GB, 2.5 TB SSD
(3000 IOPS)
3 nodes (split): 4 CPU, 8 GB, 100 GB SSD each
Over 10,000,000Contact JFrog SupportContact JFrog SupportContact JFrog SupportContact JFrog SupportContact JFrog SupportContact JFrog Support

Non-Kubernetes Deployment

Use this section for VM or bare-metal deployments.

Up to 100K indexed artifacts – No High Availability

ComponentNodesCPU CoresMemoryDisk Space
Xray and DB1624 GB500 GB SSD
(3000 IOPS)
RabbitMQ148 GB100 GB SSD
(3000 IOPS)
JFrog Advanced Security1624 GB500 GB SSD
(3000 IOPS)

Up to 1M indexed artifacts

ComponentNodesCPU CoresMemoryDisk Space
Xray248 GB300 GB
DB1832 GB500 GB SSD
(3000 IOPS)
RabbitMQ (Split)348 GB100 GB SSD
(3000 IOPS) each
JFrog Advanced Security2824 GB300 GB

Up to 2M indexed artifacts

ComponentNodesCPU CoresMemoryDisk Space
Xray3612 GB300 GB
DB11632 GB1 TB SSD
(3000 IOPS)
RabbitMQ (Split)348 GB100 GB SSD
(3000 IOPS) each
JFrog Advanced Security4824 GB300 GB

Up to 10M indexed artifacts

ComponentNodesCPU CoresMemoryDisk Space
Xray3824 GB300 GB
DB11664 GB2.5 TB SSD
(3000 IOPS)
RabbitMQ (Split)348 GB100 GB SSD
(3000 IOPS) each
JFrog Advanced Security8824 GB300 GB

Over 10M indexed artifacts: Contact JFrog Support

Related Topics

Frequently Asked Questions

This section provides answers to frequently asked questions.

plusFAQs
Q: What is the primary factor for sizing JFrog Artifactory hardware?

A: Artifactory sizing depends mainly on the number of active clients. The baseline starts at 4 cores and 6 GB RAM for up to 20 active clients, scaling to 8 cores and 18 GB RAM for 101–200 clients. Deployments with more than 200 active clients require guidance from JFrog Support.

Q: How many Xray nodes are required to index up to 1 million artifacts?

A: Indexing up to 1 million artifacts requires 2 Xray nodes, each with 4 CPU cores and 8 GB of RAM, with 300 GB of disk per node. The database should be a separate node with 8 CPU, 32 GB RAM, and a 500 GB SSD at 3000 IOPS.

Q: When does RabbitMQ need to run on separate servers from Xray?

A: For Xray HA deployments — meaning more than one Xray node or more than 100,000 indexed artifacts — RabbitMQ and Xray must run on separate servers (split mode). Single-node, non-HA RabbitMQ remains supported for smaller deployments.

Q: How many RabbitMQ nodes are recommended for a Xray Kubernetes cluster, and why?

A: JFrog recommends a three-node RabbitMQ cluster for Xray. Quorum Queues require at least three nodes for one-node fault tolerance, and JFrog applications are tuned for three-node configurations. Larger clusters may lower throughput due to replication overhead.

Q: What are the minimum hardware requirements for JFrog Workers?

A: JFrog Workers requires a minimum of 4 CPU cores, 4 GB of RAM, and 50 GB SSD. The minimum Artifactory version required to run Workers is 7.98.4.

RabbitMQ Note

RabbitMQ is essential for Xray and acts as a message broker between application services.
See: Xray and RabbitMQ Nodes Recommendations

For Xray HA (more than one node or more than 100K indexed artifacts), RabbitMQ and Xray should run on separate servers (split mode).
See: RabbitMQ Split for Xray

Kubernetes Deployment

YAML configuration files for sizing Artifactory, Xray, and Distribution are available on our GitHub.

RabbitMQ Quorum Queues Support (Helm Chart ≥ 103.124)

  • JFrog Xray supports RabbitMQ Quorum Queues starting from Helm chart version 103.124.
  • Quorum Queues require at least three RabbitMQ nodes for one-node fault tolerance.
  • Single-node (non-HA) RabbitMQ remains supported.
  • Recommendation: Use a three-node RabbitMQ cluster for Xray. Larger clusters may lower throughput due to replication overhead. JFrog apps are tuned for three-node configurations.

Distribution Hardware Sizing

Minimum requirements when running Distribution with an external database. Actual requirements may vary with your data size.

ProcessorMemoryDisk Space
4 cores8 GB200 GB SSD

Workers Hardware Sizing

Minimum requirements when running Workers:

ProcessorMemoryDisk Space
4 cores4 GB50 GB SSD
📘

Minimum Artifactory Version

The minimum Artifactory version needed to run Worker is 7.98.4 and above.

AppTrust Hardware Sizing

Minimum requirements when running AppTrust:

ServiceProcessorMemoryDisk Space
AppTrust2 Cores1 GB50 GB SSD
UnifiedPolicy2 Cores1 GB50 GB SSD

Frontend, JFBus, and JFmelt Hardware Sizing

Frontend, JFBus, and JFmelt run as standalone Kubernetes Deployments by default (see Service Pod Architecture Changes). These are stateless services with no dedicated disk requirement; size CPU and memory per your Artifactory sizing profile (Helm chart sizing/ values).

Frontend — resource requirements scale with your Artifactory sizing profile:

Sizing ProfileCPU RequestMemory RequestMemory Limit
Small100m250Mi500Mi
Medium100m500Mi1Gi
Large200m800Mi2Gi
XLarge1 core1Gi2Gi

JFBus and JFmelt — the same values apply across all sizing profiles (Small through XLarge):

ServiceCPU RequestMemory RequestMemory Limit
JFBus500m3500Mi3500Mi
JFmelt500m500Mi1Gi


Did this page help you?