---
updatedAt: 2026-07-19T10:34:54.000Z
agentTools:
  siteIndex: https://docs.jfrog.com/llms.txt
  projectIndex: https://docs.jfrog.com/installation/llms.txt
---

# 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 Clients | Processor (CPU)                                   | Memory                                            |
| ------------------------ | ------------------------------------------------- | ------------------------------------------------- |
| 0–20                     | 4 core                                            | 6 GB                                              |
| 21–100                   | 6 core                                            | 12 GB                                             |
| 101–200                  | 8 core                                            | 18 GB                                             |
| 201+                     | [Contact JFrog Support](mailto:support@jfrog.com) | [Contact JFrog Support](mailto:support@jfrog.com) |

## Xray Hardware Sizing

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

Use indexed artifact count as the primary decision input.

<Table align={[null,"center","center","center",null,null,null]}>
  <thead>
    <tr>
      <th>
        Indexed Artifacts
      </th>

      <th>
        Xray Nodes
      </th>

      <th>
        CPU (per node)
      </th>

      <th>
        Memory (per node)
      </th>

      <th>
        Xray Disk
      </th>

      <th>
        Database
      </th>

      <th>
        RabbitMQ
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Up to 100,000
      </td>

      <td>
        1
      </td>

      <td>
        6
      </td>

      <td>
        24 GB
      </td>

      <td>
        500 GB SSD  
        (3000 IOPS)
      </td>

      <td>
        500 GB SSD  
        (3000 IOPS)
      </td>

      <td>
        1 node: 4 CPU, 8 GB, 100 GB SSD
      </td>
    </tr>

    <tr>
      <td>
        Up to 1,000,000
      </td>

      <td>
        2
      </td>

      <td>
        4
      </td>

      <td>
        8 GB
      </td>

      <td>
        300 GB per node
      </td>

      <td>
        8 CPU, 32 GB, 500 GB SSD<br />(3000 IOPS)
      </td>

      <td>
        3 nodes (split): 4 CPU, 8 GB, 100 GB SSD each
      </td>
    </tr>

    <tr>
      <td>
        Up to 2,000,000
      </td>

      <td>
        3
      </td>

      <td>
        6
      </td>

      <td>
        12 GB
      </td>

      <td>
        300 GB per node
      </td>

      <td>
        16 CPU, 32 GB, 1 TB SSD<br />(3000 IOPS)
      </td>

      <td>
        3 nodes (split): 4 CPU, 8 GB, 100 GB SSD each
      </td>
    </tr>

    <tr>
      <td>
        Up to 10,000,000
      </td>

      <td>
        3
      </td>

      <td>
        8
      </td>

      <td>
        24 GB
      </td>

      <td>
        300 GB per node
      </td>

      <td>
        16 CPU, 64 GB, 2.5 TB SSD<br />(3000 IOPS)
      </td>

      <td>
        3 nodes (split): 4 CPU, 8 GB, 100 GB SSD each
      </td>
    </tr>

    <tr>
      <td>
        Over 10,000,000
      </td>

      <td>
        [Contact JFrog Support](mailto:support@jfrog.com)
      </td>

      <td>
        [Contact JFrog Support](mailto:support@jfrog.com)
      </td>

      <td>
        [Contact JFrog Support](mailto:support@jfrog.com)
      </td>

      <td>
        [Contact JFrog Support](mailto:support@jfrog.com)
      </td>

      <td>
        [Contact JFrog Support](mailto:support@jfrog.com)
      </td>

      <td>
        [Contact JFrog Support](mailto:support@jfrog.com)
      </td>
    </tr>
  </tbody>
</Table>

### Non-Kubernetes Deployment

Use this section for VM or bare-metal deployments.

**Up to 100K indexed artifacts – No High Availability**

<Table align={["left","left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Component
      </th>

      <th>
        Nodes
      </th>

      <th>
        CPU Cores
      </th>

      <th>
        Memory
      </th>

      <th>
        Disk Space
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Xray and DB
      </td>

      <td>
        1
      </td>

      <td>
        6
      </td>

      <td>
        24 GB
      </td>

      <td>
        500 GB SSD  
        (3000 IOPS)
      </td>
    </tr>

    <tr>
      <td>
        RabbitMQ
      </td>

      <td>
        1
      </td>

      <td>
        4
      </td>

      <td>
        8 GB
      </td>

      <td>
        100 GB SSD  
        (3000 IOPS)
      </td>
    </tr>

    <tr>
      <td>
        JFrog Advanced Security
      </td>

      <td>
        1
      </td>

      <td>
        6
      </td>

      <td>
        24 GB
      </td>

      <td>
        500 GB SSD  
        (3000 IOPS)
      </td>
    </tr>
  </tbody>
</Table>

**Up to 1M indexed artifacts**

<Table align={["left","left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Component
      </th>

      <th>
        Nodes
      </th>

      <th>
        CPU Cores
      </th>

      <th>
        Memory
      </th>

      <th>
        Disk Space
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Xray
      </td>

      <td>
        2
      </td>

      <td>
        4
      </td>

      <td>
        8 GB
      </td>

      <td>
        300 GB
      </td>
    </tr>

    <tr>
      <td>
        DB
      </td>

      <td>
        1
      </td>

      <td>
        8
      </td>

      <td>
        32 GB
      </td>

      <td>
        500 GB SSD  
        (3000 IOPS)
      </td>
    </tr>

    <tr>
      <td>
        RabbitMQ (Split)
      </td>

      <td>
        3
      </td>

      <td>
        4
      </td>

      <td>
        8 GB
      </td>

      <td>
        100 GB SSD  
        (3000 IOPS) each
      </td>
    </tr>

    <tr>
      <td>
        JFrog Advanced Security
      </td>

      <td>
        2
      </td>

      <td>
        8
      </td>

      <td>
        24 GB
      </td>

      <td>
        300 GB
      </td>
    </tr>
  </tbody>
</Table>

**Up to 2M indexed artifacts**

<Table align={["left","left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Component
      </th>

      <th>
        Nodes
      </th>

      <th>
        CPU Cores
      </th>

      <th>
        Memory
      </th>

      <th>
        Disk Space
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Xray
      </td>

      <td>
        3
      </td>

      <td>
        6
      </td>

      <td>
        12 GB
      </td>

      <td>
        300 GB
      </td>
    </tr>

    <tr>
      <td>
        DB
      </td>

      <td>
        1
      </td>

      <td>
        16
      </td>

      <td>
        32 GB
      </td>

      <td>
        1 TB SSD  
        (3000 IOPS)
      </td>
    </tr>

    <tr>
      <td>
        RabbitMQ (Split)
      </td>

      <td>
        3
      </td>

      <td>
        4
      </td>

      <td>
        8 GB
      </td>

      <td>
        100 GB SSD  
        (3000 IOPS) each
      </td>
    </tr>

    <tr>
      <td>
        JFrog Advanced Security
      </td>

      <td>
        4
      </td>

      <td>
        8
      </td>

      <td>
        24 GB
      </td>

      <td>
        300 GB
      </td>
    </tr>
  </tbody>
</Table>

**Up to 10M indexed artifacts**

<Table align={["left","left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Component
      </th>

      <th>
        Nodes
      </th>

      <th>
        CPU Cores
      </th>

      <th>
        Memory
      </th>

      <th>
        Disk Space
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Xray
      </td>

      <td>
        3
      </td>

      <td>
        8
      </td>

      <td>
        24 GB
      </td>

      <td>
        300 GB
      </td>
    </tr>

    <tr>
      <td>
        DB
      </td>

      <td>
        1
      </td>

      <td>
        16
      </td>

      <td>
        64 GB
      </td>

      <td>
        2.5 TB SSD  
        (3000 IOPS)
      </td>
    </tr>

    <tr>
      <td>
        RabbitMQ (Split)
      </td>

      <td>
        3
      </td>

      <td>
        4
      </td>

      <td>
        8 GB
      </td>

      <td>
        100 GB SSD  
        (3000 IOPS) each
      </td>
    </tr>

    <tr>
      <td>
        JFrog Advanced Security
      </td>

      <td>
        8
      </td>

      <td>
        8
      </td>

      <td>
        24 GB
      </td>

      <td>
        300 GB
      </td>
    </tr>
  </tbody>
</Table>

**Over 10M indexed artifacts:** [Contact JFrog Support](mailto:support@jfrog.com)

## Related Topics

* [Requirements Matrix](requirements-matrix)
* [Software Dependencies Matrix](software-dependencies-matrix)
* [Xray and RabbitMQ Nodes Recommendations](xray-and-rabbitmq-nodes-recommendations_xray-system-requirements-and-platform-support)
* [General System Requirements](general-system-requirements)
* [Install JFrog Platform via Helm Quick Start](install-jfrog-platform-via-helm-quick-start)

## Frequently Asked Questions

This section provides answers to frequently asked questions.

<Accordion title="FAQs" icon="plus">

##### 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.

</Accordion>

#### RabbitMQ Note

RabbitMQ is essential for Xray and acts as a message broker between application services.\
See: [Xray and RabbitMQ Nodes Recommendations](xray-and-rabbitmq-nodes-recommendations_xray-system-requirements-and-platform-support)

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](rabbitmq-split-for-xray)

### Kubernetes Deployment

YAML configuration files for sizing Artifactory, Xray, and Distribution are available on our <a href="https://github.com/jfrog" target="_blank">GitHub</a>.

<Callout theme="default">
  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.
</Callout>

## Distribution Hardware Sizing

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

| Processor | Memory | Disk Space |
| --------- | ------ | ---------- |
| 4 cores   | 8 GB   | 200 GB SSD |

## Workers Hardware Sizing

Minimum requirements when running Workers:

| Processor | Memory | Disk Space |
| --------- | ------ | ---------- |
| 4 cores   | 4 GB   | 50 GB SSD  |

<Callout icon="📘" theme="info">
  Minimum Artifactory Version

  The minimum Artifactory version needed to run Worker is 7.98.4 and above.
</Callout>

## AppTrust Hardware Sizing

Minimum requirements when running AppTrust:

| Service           | Processor | Memory | Disk Space |
| :---------------- | :-------- | :----- | :--------- |
| **AppTrust**      | 2 Cores   | 1 GB   | 50 GB SSD  |
| **UnifiedPolicy** | 2 Cores   | 1 GB   | 50 GB SSD  |

## Frontend, JFBus, and JFmelt Hardware Sizing

Frontend, JFBus, and JFmelt run as standalone Kubernetes Deployments by default (see [Service Pod Architecture Changes](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 Profile | CPU Request | Memory Request | Memory Limit |
| -------------- | ----------- | -------------- | ------------ |
| Small          | 100m        | 250Mi          | 500Mi        |
| Medium         | 100m        | 500Mi          | 1Gi          |
| Large          | 200m        | 800Mi          | 2Gi          |
| XLarge         | 1 core      | 1Gi            | 2Gi          |

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

| Service | CPU Request | Memory Request | Memory Limit |
| ------- | ----------- | -------------- | ------------ |
| JFBus   | 500m        | 3500Mi         | 3500Mi       |
| JFmelt  | 500m        | 500Mi          | 1Gi          |

<br />