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
| Component | Nodes | CPU Cores | Memory | Disk Space |
|---|---|---|---|---|
| Xray and DB | 1 | 6 | 24 GB | 500 GB (SSD, 3000 IOPS) |
| RabbitMQ | 1 | 4 | 8 GB | 100GB (SSD, 3000 IOPS) |
| JFrog Advanced Security | 1 | 6 | 24 GB | 500 GB (SSD, 3000 IOPS) |
Up to 1M indexed artifacts
| Component | Nodes | CPU Cores | Memory | Disk Space |
|---|---|---|---|---|
| Xray | 2 | 4 | 8 GB | 300 GB |
| DB | 1 | 8 | 32 GB | 500 GB (SSD, 3000 IOPS) |
| RabbitMQ Split | 3 | 4 | 8 GB | 100GB (SSD, 3000 IOPS) |
| JFrog Advanced Security | 2 | 8 | 24 GB | 300 GB |
Up to 2M indexed artifacts
| Component | Nodes | CPU Cores | Memory | Disk Space |
|---|---|---|---|---|
| Xray | 3 | 6 | 12 GB | 300 GB |
| DB | 1 | 16 | 32 GB | 1 TB (SSD, 3000 IOPS) |
| RabbitMQ Split | 3 | 4 | 8 GB | 100GB (SSD, 3000 IOPS) |
| JFrog Advanced Security | 4 | 8 | 24 GB | 300 GB |
Up to 10M indexed artifacts
| Component | Nodes | CPU Cores | Memory | Disk Space |
|---|---|---|---|---|
| Xray | 3 | 8 | 24 GB | 300 GB |
| DB | 1 | 16 | 64 GB | 2.5 TB (SSD, 3000 IOPS) |
| RabbitMQ Split | 3 | 4 | 8 GB | 100GB (SSD, 3000 IOPS) |
| JFrog Advanced Security | 8 | 8 | 24 GB | 300 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.
Updated 15 days ago
