Scaling Up an Existing Single Software Event Broker
This section shows you the steps to increase the scaling parameters for a standalone software event broker using the Solace CLI.
This procedure changes system-wide scaling parameters. Upon completion, you may need to modify other parameters for individual Message VPNs. For example, you may need to modify the maximum number of client connections permitted for a specific Message VPN (Configuring Maximum Connections) or for a specific client profile (see Configuring Max Connections Per Username). For more information, see Configuring Message VPNs.
System scaling parameters can only be increased.
This procedure is service affecting in versions 10.11.0 and earlier. To change system scaling parameters other than max-subscriptions
or the Kafka scaling parameters (Kafka bridges or Kafka broker connections) in these versions, you must shut down the message backbone
and message spool
.
The following steps show you how to increase the scaling parameters for a standalone event broker:
Step 1: Review the System Resource Requirements
Step 2: Increase the Value of the Scaling Parameters
Step 1: Review the System Resource Requirements
Before changing scaling parameters, review the system resources that are required and ensure that your system is adequately provisioned for the new values you plan to set. When you set the maximum connections for containers, you may also need to set some docker create
options in accordance with the new value. For details, see System Resource Requirements and Using System Scaling Parameters.
Step 2: Increase the Value of the Scaling Parameters
In versions 10.9.1 and earlier of the event broker, any change to a single parameter requires an event broker restart. However, with versions 10.10.0 and later, you can now upscale multiple parameters before an event broker restart is required.
To increase the value of your event broker scaling parameters, click on your event broker version below and follow the steps provided:
Increase the Value of Scaling Parameters in Event Broker Versions 10.11.1 and Later
- In the Solace CLI, enter the
show system detail
command to review the current scaling values. You can also review the memory, cores, and storage requirements that correspond to the requirements output from the system resource calculator (see System Resource Calculator). This command helps you evaluate if additional resources must be added: solace> show system detail
System Uptime: 0d 5h 21m 11s
Last Restart Reason: User request
Scaling:
Max Bridges: 25
Max Connections: 100
Max Queue Messages: 100M
Max Kafka Bridges: 0
Max Kafka Broker Connections: 0
Max Subscriptions: 500000
Topic Routing:
Subscription Exceptions: Enabled
Subscription Exceptions Defer: Enabled
System Resources for Virtual Machine
System Resource Available Required Units
--------------------------------- ------------ ------------ ----------
CPU
Cores 2 2
Memory
---Press any key to continue, or `q' to quit---
RAM 5.0 4.0 GiB
Storage Devices
/dev/dm-0 9.8 Mi 12.9 Mi 1K-Blocks
contains: spool-cache
contains: spool-cache-backup
contains: config
contains: diagnostics
contains: jail
contains: spool
contains: var
/dev/dm-6 6.0 Mi 1.4 Mi 1K-Blocks
contains: root
- Increase the required scaling parameter values.
You can increase the values of the following system scaling parameters:
There are two ways to increase scaling parameter values:
- Non-Interactive CLI mode: Use the
scale
command followed by the parameter name and value. You can upscale as many parameters as required in the same command using this pattern: scale <parameter 1> <value 1> <parameter 2> <value 2> ... <parameter n> <value n>
. For example, step 1 shows that the initial value of the client connection limit is 100, and the maximum number of queue messages is 100 million. To increase the connection limit to 1,000 and the queue message limit to 240 million, enter the following commands:solace(configure)# system
solace(configure/system)# scaling
solace(configure/system/scaling)# scale max-connections 1000 max-queue-messages 240
This command causes a reload of the system.
Do you want to continue (y/n)? y
- Interactive CLI mode: Use the
scale
command without any parameters to display a list of your current scaling parameter values. The CLI then prompts you to enter new values for each parameter in the following order:max-connections
max-bridges
max-kafka-bridges
max-kafka-broker-connections
max-queue-messages-in-millions
max-subscriptions
For each prompt, the current parameter value is displayed in square brackets, and if you do not enter a new value, the value remains the same. For example, step 1 shows that the initial value of the client connection limit is 100, and the maximum number of queue messages is 100 million. To increase the connection limit to 1,000 and the queue message limit to 240 million, enter the following commands:solace(configure)# system
solace(configure/system)# scaling
solace(configure/system/scaling)# scale
Current Scaling:
Max Connections: 100
Max Bridges: 25
Max Kafka Bridges: 0
Max Kafka Broker Connections: 0
Max Queue Messages: 100M
Max Subscriptions: 500000
Enter max connections (or q to quit) [100]: 1000
Max bridges should not be greater than max connections (1000)
Enter max bridges (or q to quit) [25]:
Max kafka bridges should not be greater than max connections (1000)
Enter max kafka bridges (or q to quit) [0]:
Enter max kafka connections (or q to quit) [0]:
Enter max queue messages in millions (or q to quit) [100]: 240
Max subscriptions should be greater than max connections (1000)
Enter max subscriptions (or q to quit) [500000]:
Updated Scaling:
Max Connections: 1000
Max Bridges: 25
Max Kafka Bridges: 0
Max Kafka Broker Connections: 0
Max Queue Messages: 240M
Max Subscriptions: 500000
This command causes a reload of the system.
Do you want to continue (y/n)? y
Changing the value of system scaling parameters causes the system to reload, stopping the container. For container images, you may need to manually restart the container, depending on the restart policy of your container runtime. In addition, if changes to the scaling parameters require additional resources, such as additional CPUs or more memory, you may need to recreate the container using a modified command line. For details, see the System Resource Calculator.
- Restart or recreate the container if required, then enter the Solace CLI again and confirm the new parameter has been applied.
In this example, the maximum number of client connections has been increased to 1,000 and maximum number of queue messages to 240 million.
solace> show system
System Uptime: 0d 5h 27m 43s
Last Restart Reason: User request
Scaling:
Max Bridges: 25
Max Connections: 1000
Max Queue Messages: 240M
Max Kafka Bridges: 0
Max Kafka Broker Connections: 0
Max Subscriptions: 500000
Topic Routing:
Subscription Exceptions: Enabled
Subscription Exceptions Defer: Enabled
Increase the Value of Scaling Parameters in Event Broker Versions 10.10.0 to 10.11.0
- In the Solace CLI, enter the
show system detail
command to review the current scaling values. You can also review the memory, cores, and storage requirements that correspond to the requirements output from the system resource calculator (see System Resource Calculator). This command helps you evaluate if additional resources must be added: solace> show system detail
System Uptime: 0d 5h 21m 11s
Last Restart Reason: User request
Scaling:
Max Connections: 100
Max Bridges: 25
Max Kafka Bridges: 0
Max Kafka Broker Connections: 0
Max Queue Messages: 100M
Max Subscriptions: 500000
Topic Routing:
Subscription Exceptions: Enabled
Subscription Exceptions Defer: Enabled
System Resources for Virtual Machine
System Resource Available Required Units
--------------------------------- ------------ ------------ ----------
CPU
Cores 2 2
Memory
---Press any key to continue, or `q' to quit---
RAM 5.0 4.0 GiB
Storage Devices
/dev/dm-0 9.8 Mi 12.9 Mi 1K-Blocks
contains: spool-cache
contains: spool-cache-backup
contains: config
contains: diagnostics
contains: jail
contains: spool
contains: var
/dev/dm-6 6.0 Mi 1.4 Mi 1K-Blocks
contains: root
- Shut down the
msg-backbone
service and message-spool
.
If you are increasing max-subscriptions
or the Kafka scaling parameters (max-kafka-bridges
or max-kafka-broker-connections
), you do not need to shut down the msg-backbone
or message-spool
.
solace> enable
solace# configure
solace(configure)# service msg-backbone shutdown
All clients will be disconnected.
Do you want to continue (y/n)? y
solace(configure)# hardware message-spool shutdown
All message spooling will be stopped.
Do you want to continue (y/n)? y
- Increase the required scaling parameter values.
You can increase the values of the following system scaling parameters:
There are two ways to increase scaling parameter values:
- Non-Interactive CLI mode: Use the
scale
command followed by the parameter name and value. You can upscale as many parameters as required in the same command using this pattern: scale <parameter 1> <value 1> <parameter 2> <value 2> ... <parameter n> <value n>
. For example, step 1 shows that the initial value of the client connection limit is 100, and the maximum number of queue messages is 100 million. To increase the connection limit to 1,000 and the queue message limit to 240 million, enter the following commands:solace(configure)# system
solace(configure/system)# scaling
solace(configure/system/scaling)# scale max-connections 1000 max-queue-messages 240
This command causes a reload of the system.
Do you want to continue (y/n)? y
Moving ADB messages to disk : 100%
Backing up ADB config to disk: 100%
Performing database consolidation
- Interactive CLI mode: Use the
scale
command without any parameters to display a list of your current scaling parameter values. The CLI then prompts you to enter new values for each parameter in the following order:connection-limit
max-bridges
max-kafka-bridges
max-kafka-broker-connections
max-messages-in-millions
max-subscriptions
For each prompt, the current parameter value is displayed in square brackets, and if you do not enter a new value, the value remains the same. For example, step 1 shows that the initial value of the client connection limit is 100, and the maximum number of queue messages is 100 million. To increase the connection limit to 1,000 and the queue message limit to 240 million, enter the following commands:solace(configure)# system
solace(configure/system)# scaling
solace(configure/system/scaling)# scale
Current Scaling:
Max Connections: 100
Max Bridges: 25
Max Kafka Bridges: 0
Max Kafka Broker Connections: 0
Max Queue Messages: 100M
Max Subscriptions: 500000
Enter max connections [100]: 1000
Max bridges should not be greater than max connections (1000)
Enter max bridges [25]:
Max kafka bridges should not be greater than max connections (1000)
Enter max kafka bridges [0]:
Enter max kafka connections [0]:
Enter max queue messages in millions [100]: 240
Max subscriptions should be greater than max connections (1000)
Enter max subscriptions [500000]:
Updated Scaling:
Max Connections: 1000
Max Bridges: 25
Max Kafka Bridges: 0
Max Kafka Broker Connections: 0
Max Queue Messages: 240M
Max Subscriptions: 500000
This command causes a reload of the system.
Do you want to continue (y/n)? y
Moving ADB messages to disk : 100%
Backing up ADB config to disk: 100%
Performing database consolidation
Changing the value of system scaling parameters causes the system to reload, stopping the container. For container images, you may need to manually restart the container, depending on the restart policy of your container runtime. In addition, if changes to the scaling parameters require additional resources, such as additional CPUs or more memory, you may need to recreate the container using a modified command line. For details, see the System Resource Calculator.
- Restart or recreate the container if required, then enter the Solace CLI again and confirm the new parameter has been applied.
In this example, the maximum number of client connections has been increased to 1,000 and maximum number of queue messages to 240 million.
solace> show system
System Uptime: 0d 5h 27m 43s
Last Restart Reason: User request
Scaling:
Max Connections: 1000
Max Bridges: 25
Max Kafka Bridges: 0
Max Kafka Broker Connections: 0
Max Queue Messages: 240M
Max Subscriptions: 500000
Topic Routing:
Subscription Exceptions: Enabled
Subscription Exceptions Defer: Enabled
- To resume messaging you must restart the
msg-backbone
service and message-spool
.
If you are increasing max-subscriptions
or the Kafka scaling parameters (max-kafka-bridges
or max-kafka-broker-connections
), you do not need to shut down the msg-backbone
or message-spool
.
solace> enable
solace# config
solace(configure)# no hardware message-spool shutdown
solace(configure)# no service msg-backbone shutdown
Increase the Value of Scaling Parameters in Event Broker Versions 10.9.1 and Earlier
- In the Solace CLI, enter the
show system detail
command to review the current scaling values. You can also review the memory, cores, and storage requirements that correspond to the requirements output from the system resource calculator (see System Resource Calculator). This command helps you evaluate if additional resources must be added: solace> show system detail
System Uptime: 0d 5h 21m 11s
Last Restart Reason: User request
Scaling:
Max Bridges: 25
Max Connections: 100
Max Queue Messages: 100M
Max Kafka Bridges: 0
Max Kafka Broker Connections: 0
Max Subscriptions: 500000
Topic Routing:
Subscription Exceptions: Enabled
Subscription Exceptions Defer: Enabled
System Resources for Virtual Machine
System Resource Available Required Units
--------------------------------- ------------ ------------ ----------
CPU
Cores 2 2
Memory
---Press any key to continue, or `q' to quit---
RAM 5.0 4.0 GiB
Storage Devices
/dev/dm-0 9.8 Mi 12.9 Mi 1K-Blocks
contains: spool-cache
contains: spool-cache-backup
contains: config
contains: diagnostics
contains: jail
contains: spool
contains: var
/dev/dm-6 6.0 Mi 1.4 Mi 1K-Blocks
contains: root
- Shut down the
msg-backbone
service and message-spool
.
If you are increasing max-subscriptions
or the Kafka scaling parameters (max-kafka-bridges
or max-kafka-broker-connections
), you do not need to shut down the msg-backbone
or message-spool
.
solace> enable
solace# configure
solace(configure)# service msg-backbone shutdown
All clients will be disconnected.
Do you want to continue (y/n)? y
solace(configure)# hardware message-spool shutdown
All message spooling will be stopped.
Do you want to continue (y/n)? y
- Increase the required scaling parameter value.
You can increase the values of the following system scaling parameters:
For example, Step 1 shows that the initial value of the client connection limit is 100. To increase the connection limit to 1,000, enter the following commands:
solace(configure)# system
solace(configure/system)# scaling
solace(configure/system/scaling)# max-connections 1000
This command causes a reload of the system.
Do you want to continue (y/n)? y
Moving ADB messages to disk : 100%
Backing up ADB config to disk: 100%
Performing database consolidation
Changing the value of system scaling parameters causes the system to reload, stopping the container. For container images, you may need to manually restart the container, depending on the restart policy of your container runtime. In addition, if changes to the scaling parameters require additional resources, such as additional CPUs or more memory, you may need to recreate the container using a modified command line. For details, see the System Resource Calculator.
- Restart or recreate the container if required, then enter the Solace CLI again and confirm the new parameter has been applied.
In this example, the maximum number of client connections has been increased to 1,000.
solace> show system
System Uptime: 0d 5h 27m 43s
Last Restart Reason: User request
Scaling:
Max Bridges: 25
Max Connections: 1000
Max Queue Messages: 100M
Max Kafka Bridges: 0
Max Kafka Broker Connections: 0
Max Subscriptions: 500000
Topic Routing:
Subscription Exceptions: Enabled
Subscription Exceptions Defer: Enabled
- Optionally, repeat the preceding two steps to increase another scaling parameter.
- To resume messaging you must restart the
msg-backbone
service and message-spool
.
If you are increasing max-subscriptions
or the Kafka scaling parameters (max-kafka-bridges
or max-kafka-broker-connections
), you do not need to shut down the msg-backbone
or message-spool
.
solace> enable
solace# config
solace(configure)# no hardware message-spool shutdown
solace(configure)# no service msg-backbone shutdown