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 Modifying System Limits Using System Scaling Parameters.

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 storage-elements, 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 storage-elements 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 the spool, adb, and adb-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 storage-elements jail 1 GB 1 GB
var 0.2 GB 0.2 GB
spool 1 GB N/A
adb 1.2 GB N/A
adb-backup 0.6 GB N/A
diagnostics 1 GB 1 GB

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 storage-elements, which by default are mapped to the container runtime's backing store. This is not suitable for production usage—we recommend mapping storage-elements to external volumes. For more information regarding storage organization in the PubSub+ Software Event Broker and how to increase performance or capacity by adding additional storage, see Managing Software Event Broker Storage 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 write performance less than 20 MBps will result in a POST failure.

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 the spool, adb, and adb-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 storage-elements jail 1 GB 1 GB
var 0.2 GB 0.2 GB
spool 1 GB N/A
adb 1.2 GB N/A
adb-backup 0.6 GB N/A
diagnostics 2 GB 2 GB

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 storage-elements. 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 additional storage, see Managing Software Event Broker Storage.

For best performance and maximum data integrity, the use of enterprise grade SSDs with power-loss data protection feature is recommended for the machine host. Using a disk with write performance less than 20 MBps will result in a POST failure.