System Resource Requirements
To achieve desired stability and performance, the infrastructure hosting the PubSub+ Software Event Broker must provide a minimum set of system resources. System resources can be broadly categorized into requirements related to processors, memory, and storage. The type of system resources required, and their characteristics, is dependent on the broker image being used; be sure to reference the appropriate tables when using either a virtual machine or Container Image.
You can increase certain system limits using System Scaling Parameters. Increasing these system limits also increases the system resources that are required. For more information, see Using System Scaling Parameters and System Resource Calculator.
The following sections describe the minimum resources needed for the default installation of the software event broker.
Resource Requirements for Container Images
The container host provides the system resources for the container instance. Specifically, the Linux kernel manages processor and memory resources using control groups, or cgroups
. The container runtime creates and configures the cgroups
when it creates the container instance.
In addition to the resources managed by cgroups
, the software broker also requires storage for three types information:
- image files
- temporary data
- instance state
Typically, image files and temporary data are written to the container runtime's backing store. Instance state is written to a storage-group, which may optionally be mapped to the container runtime's backing store or, more commonly, mapped to host/external storage through the use of bind-mounts or volumes.
For more information mapping the storage-group
to external storage, see Managing Storage for Container Images
Minimum Resource Requirements for Container Images
If the software event broker is part of a high-availability (HA) group, its resource requirements are partially determined by its node-type
:
messaging-routing-node
—the software event broker is participating in message routing. In messaging mode, the broker takes either the primary or backup role.monitor-node
—the software event broker is in monitoring mode and is not participating in message routing. It therefore does not require storage for thespool
,spool-cache
, andspool-cache-backup
storage-elements.
For more information about HA node types, see HA for Software Event Brokers.
The software event broker requires the following resources at a minimum:
System Resource | Minimum Requirement (Messaging) |
Minimum Requirement (Monitoring) | |
---|---|---|---|
CPUs | 2 | 1 | |
Host Virtual Memory | 3.4 GiB | 2.0 GiB | |
Memory Cgroup Limit | 2.5 GiB | 1.6 GiB | |
Posix Shared Memory (/dev/shm) | 1.0 GB | 1.0 GB | |
Disk Space for Container Runtime Backing Store | 1.5 GB | 1.5 GB | |
Disk Space for the storage-group as a whole |
5.1 GB | 2.3 GB | |
Disk Space for The space required for the |
jail
|
1 GB | 1 GB |
var
|
0.2 GB | 0.2 GB | |
diagnostics
|
1 GB | 1 GB | |
spool
|
1 GB | N/A | |
spool-cache
|
1.2 GB | N/A | |
spool-cache-backup
|
0.6 GB | N/A |
Storage Considerations
In the container image, container-specific files and temporary data are written to the container runtime's backing store. Instance state is written to the storage-group
, which by default is mapped to the container runtime's backing store. This is not suitable for production usage—we recommend mapping the storage-group
to an external volume. For more information regarding storage organization in the PubSub+ Software Event Broker and how to increase performance or capacity by adding additional storage, see Understanding the Storage-Group and Managing Storage for Container Images.
Regardless of whether the container is configured to write to the backing store or external volumes, your storage system must have a write performance greater than 20 MBps. Using a storage system with a write performance less than 20 MBps will result in a POST failure. In addition to having adequate write performance, the storage system must also exhibit well behaved latency (as reported by the show system health
command). To best meet the minimum storage performance requirements, Solace recommends that you use an enterprise-grade SSD as the host device for the event broker's storage-group
.
Resource Requirements for Virtual Machine Images
The machine host provides the system resources for the virtual machine via a hypervisor. The hypervisor synthesizes some resources, like processors and memory, from a subset of the host's resources. These resources may be preconfigured by the virtual machine image, if it includes a machine definition, as is the case with OVA package.
All virtual machine images are configured to use the included disk image as the virtual machine instance's primary disk. You can create additional storage capacity by adding a secondary or external disk to the virtual machine instance.
Minimum Resource Requirements for Virtual Machine Images
messaging-routing-node
—the software event broker is participating in message routing. In messaging mode, the broker takes either the primary or backup role.monitor-node
—the software event broker is in monitoring mode and is not participating in message routing. It therefore does not require storage for thespool
,spool-cache
, andspool-cache-backup
storage-elements.
The software event broker requires the following resources at a minimum:
System Resource | Minimum Requirement (Messaging) | Minimum Requirement (Monitoring) |
|
---|---|---|---|
CPUs | 2 | 1 | |
Physical Memory (RAM) | 1 GiB | 1 GiB | |
Primary Disk | 30 GB | 30 GB | |
Disk Space for the storage-group as a whole |
6.1 GB | 3.3 GB | |
Disk Space for The space required for the |
jail
|
1 GB | 1 GB |
var
|
0.2 GB | 0.2 GB | |
diagnostics
|
2 GB | 2 GB | |
spool
|
1 GB | N/A | |
spool-cache
|
1.2 GB | N/A | |
spool-cache-backup
|
0.6 GB | N/A |
Processor Considerations
To meet expected performance, host CPUs should be Intel i5 (or equivalent), with an operating frequency of 2 GHz, or better. Only x86_64 architectures are supported.
Hardware virtualization, such as Intel VT-x and AMD-V must be enabled. CPUs, or the equivalent processing power, must be dedicated for exclusive use by the broker.
Memory Considerations
The physical memory requirement for virtual machine images represents the amount of host memory (RAM) needed to back the virtual memory space of the machine image. Host memory should not be oversubscribed and should not be backed by swap.
Virtual machine images come preconfigured with a fixed amount of swap space (approximately 2 GiB), i.e. the total virtual memory available to the broker application is the sum of the host memory and the preconfigured broker swap. Under stress, the broker may make extensive use of swap. For high performance applications, Solace recommends supplying 2 GiB of additional host memory to reduce broker swap usage.
Hypervisor dynamic memory allocation and reclamation features (TPS, ballooning, hypervisor swap) are not supported.
Storage Considerations
With exception of the AMI Package, virtual machine images are delivered as a fixed 30 GB virtual disk with a 10 GB partition for the storage-group
. This is suitable for non-production use cases of less than 1000 client connections and with 1.5 GB of spooled messages. For more information regarding storage organization in the PubSub+ Software Event Broker and how to increase performance or capacity by adding storage, see Understanding the Storage-Group and Managing Storage for Virtual Machine Images.
Your storage system must have a write performance greater than 20 MBps. Using a storage system with a write performance of less than 20 MBps will result in a POST failure. In addition to having adequate write performance, the storage system must also exhibit well behaved latency (as reported by the show system health
command). For best performance and maximum data integrity, we recommend that you use an enterprise-grade SSD with a power-loss data protection feature for the machine host.