Hardware & Sizing

Xray hardware sizing guidance by scale (non-Kubernetes and Kubernetes deployments), RabbitMQ Quorum Queues, storage, and file handle limits.

Before proceeding with the installation, review the system requirements.

Xray's system requirements are dependent on the scale of your environment.

Sizings

Non-Kubernetes Deployment

Up to 100K indexed artifacts. No High Availability

ComponentNodesCPU CoresMemoryDisk Space
Xray and DB1624 GB500 GB (SSD, 3000 IOPS)
RabbitMQ148 GB100GB (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 Split348 GB100GB (SSD, 3000 IOPS)
JFrog Advanced Security2824 GB300 GB

Up to 2M indexed artifacts

ComponentNodesCPU CoresMemoryDisk Space
Xray3612 GB300 GB
DB11632 GB1 TB (SSD, 3000 IOPS)
RabbitMQ Split348 GB100GB (SSD, 3000 IOPS)
JFrog Advanced Security4824 GB300 GB

Up to 10M indexed artifacts

ComponentNodesCPU CoresMemoryDisk Space
Xray3824 GB300 GB
DB11664 GB2.5 TB (SSD, 3000 IOPS)
RabbitMQ Split348 GB100GB (SSD, 3000 IOPS)
JFrog Advanced Security8824 GB300 GB

Over 10M indexed artifacts

Contact JFrog Support.

For Xray HA (High Availability) installations (more than one node and 100k indexed artifacts), we recommend installing RabbitMQ and Xray on separate servers using split mode. For more information, see our page here.

Kubernetes Deployment

Kubernetes Sizing Requirements

We have included YAML files with different sizing configurations for Artifactory, Xray, and Distribution in our GitHub pages. You can use these YAML files when you set up your cluster.

Note: From Helm chart 103.131 version of JFrog Xray, JFrog added support for Quorum Queues in RabbitMQ. This requires a minimum of three nodes of RabbitMQ and ensures fault tolerance of at least one node. A non-HA setup of 1 node is also supported.

For more information, please refer to the RabbitMQ Quorum Queues documentation here.

To mitigate performance bottlenecks, avoid port conflicts, and prevent unusual configurations, use a dedicated node for Xray and RabbitMQ with no other software running.

Xray

You can create a high-availability cluster by adding multiple nodes (1, 2, 3, ...n) to distribute the workload and increase capacity.

In most cases, our recommendation is to use an SSD drive for Xray to have better performance and it is not recommended to use an NFS drive, as it is a disk I/O-intensive service, a slow NFS server can suffer from I/O bottlenecks and NFS is mostly used for storage replication.

Xray stores node-specific files, such as configuration and temporary files, to the disk. These files are exclusively used by Xray and not shared with other services. Since the local storage used for Xray services is temporary, it does not require replication between the different nodes in a multi-node/HA deployment.


Did this page help you?