Subscription Capacity
Solace event brokers provide three levels of capacity for subscriptions: 50k, 500k, and 5M. This number represents the number of unique subscriptions that an individual event broker can keep track of, and includes all local subscriptions (of clients, queues, and topic-endpoints), as well as all remote subscriptions learned from other event brokers in the event mesh through the Multi-Node Routing (MNR) or Dynamic Message Routing (DMR) features. Unique subscriptions are subscriptions that have the same topic string, belong to the same Message VPN, and (in the case of MNR or DMR) were added to the same event broker instance. For example, if two clients connect to the same Message VPN on the same event broker, and both add the subscription a/b/c, this subscription counts as one unique subscription against the subscription limit.
Selecting your subscription capacity depends on how your Solace event broker is deployed:
-
For Solace software event brokers, subscription capacity depends on the configured scaling parameters. For more information, see Maximum Number of Subscriptions.
-
For Solace Appliance Event Brokers, subscription capacity is 5M for all appliance event broker models.
-
For Solace Cloud, subscription capacity depends on the service class and the corresponding service limit. For more information, see Service Class Options for Event Broker Services.
Monitoring the Subscription Usage
Solace recommends that you monitor the number of unique subscriptions for your event broker together with the Subscription Load Factor to ensure that you don't exceed the subscription limit and that you have enough resources on your event brokers available to operate correctly.
The Subscription Load Factor accounts for the number of subscriptions and the amount of internal memory resources that are consumed by these subscriptions. Because memory resource consumption depends on more than the number of subscriptions, such as subscription length and amount of repetition, the Subscription Load Factor provides a more complete indication of your subscription capacity than the number of subscriptions alone. It is exposed as the SYSTEM_ROUTING_SUBSCRIPTIONS_LOAD_FACTOR_HIGH system event with configurable thresholds. For more information about system events, see Solace Syslog Events. For more information about configuring thresholds, see Configuring System Event Thresholds.
Monitoring the Unique Subscription Limit
To view the current number of unique subscriptions, run the show smrp subscriptions summary command:
solace> show smrp subscriptions summary
Flags Legend:
T - Destination Type (C=local-client, Q=local-queue,
R=remote-router)
R - Redundancy Type for Local Destinations (P=primary, B=backup,
S=static, -=not-applicable)
Total Subscriptions : 450017
Local Subscriptions : 450017
Remote Subscriptions : 0
Total Unique Subscriptions : 450017
Message VPN Flg Destination Subscription
T R Persist Non-Pst Total
---------------------- - - ------------------------ -------- -------- --------
#cluster C S #client 0 6 6
#cluster C P #cluster/vmr-134-39 0 4 4
default C S #client 0 6 6
default C P dev3-236/18961/00000001/ 0 450001 450001
R6k0pmxV1Z
Monitoring the Subscription Load Factor
To view the Subscription Load Factor, expressed as a percent, run the show memory command:
solace> show memory
Memory (KB):
Total Used Free Buffers Cached
---------- ---------- ---------- ---------- ----------
Physical
Memory 13155980 10070580 3085400 6348 1684756
Swap 2047996 0 2047996
Subscriptions
Memory 131071 70315 60756
IPC Buffers:
Buffer # Buffers Memory (KB)
Pool Size(B) Total Used Free Total Used Free
---- --------- ------- ------- ------- --------- --------- ---------
0 256 8192 1 8191 2048 1 2047
1 2048 16536 0 16536 33072 0 33072
2 10240 2048 0 2048 20480 0 20480
3 102400 450 0 450 45000 0 45000
4 1048576 10 0 10 10240 0 10240
5 10485760 1 0 1 10240 0 10240
Physical memory usage: 63.74%
Subscription memory usage: 53.65%
Subscriptions load factor: 75%
Highest contributor: Subscription Hash
NAB Buffers:
Slot NAB Buffer Load Factor
-------- ----------------------
1/1 0%
Event Threshold Set Value Clear Value
---------------------------------- ---------------- ----------------
Subscriptions Memory (%) 80 60
Subscriptions Load Factor (%) 80 60
NAB Buffer Load Factor (%) 80 60
Assigning Subscription Limits To Message VPNs Or Clients
Besides assigning the system-level subscription limit as a scaling parameter, you can assign a local subscription limit to individual Message VPNs and clients (that is less than the system-level subscription limit). For more information, see Configuring Maximum Subscriptions for Message VPNs and Configuring Maximum Subscriptions for Client Profiles.
Event Mesh Considerations
If your event broker is part of an event mesh, and connected in some manner to other event brokers, the subscriptions of the other event brokers (the remote subscriptions) count against your event broker’s subscription limit. In this case, you must be aware of the following considerations:
-
If your event mesh is built using MNR, all event brokers in the event mesh learn of all subscriptions that are exported by every other event broker in the network, regardless of whether they are directly or indirectly connected by neighbor links (see Multi-Node Routing). In this case, the subscription limit of all event brokers must be the same, and must meet or exceed the combined needs of all clients and queues, no matter which event broker is hosting them.
-
If your event mesh is built using DMR, all event brokers in the same DMR cluster learn of all subscriptions that are exported by every other event broker in the same DMR cluster. In addition, if the cluster has an external link to another cluster, all subscriptions of the Message VPNs (for which there is a per-Message VPN DMR bridge configured) from the other cluster are learned (see Dynamic Message Routing). In this case, the subscription limits of all event brokers in a given DMR cluster must be the same, and must meet or exceed the combined needs of all clients and queues of all event brokers in the same DMR cluster, in addition to all clients and queues that are exposed from an adjacent DMR cluster over a DMR bridge.
-
If your event mesh includes Message VPN bridges, the subscriptions of the client and queue of the Message VPN bridge are included in the number of local subscriptions of your event broker.