WebSphere Message Broker supports up to 25 000 subscriptions on a broker. To handle a large number of subscriptions, you should tune your brokers and the databases that they use. The following sections describe some of the things that you should consider.
You might need to change the broker property jvmMaxHeapSize. The default value for this is 128 MB.
The value of this property must be large enough for all topics in the subscriptions. For example, if you have 10 000 subscriptions, each for a topic that uses 20 KB of storage, set the value of the jvmMaxHeapSize property to at least 200 MB.
mqsichangeproperties brokername -o ComIbmJVMManager -n jvmMaxHeapSize -v 268435456where brokername is the name of your broker.
Database error: SQL State '54028'; Native Error Code '-429'; Error Text '[IBM][CLI Driver][DB2/LINUX] SQL0429N The maximum number of concurrent LOB locators has been exceeded. SQLSTATE=54028 '.This error is due to a limitation in the number of LOB handles in DB2. To overcome this problem, you require a patch in DB2; you need to edit file db2cli.ini.
On UNIX or Linux, this file is located in {DB2InstanceHome}/sqllib/cfg/db2cli.ini.
On Windows, this file is located in {Program Files}\IBM\SQLLIB\db2cli.ini.
[{Database name}] PATCH2=50 LobCacheSize=1048576The PATCH line instructs DB2 to free up LOB locators after it has used them, and the LobCacheSize parameter adjusts the total memory that is available to LOB locators; in this case 1 GB. You might then need to restart the DB2 instance.
When a subscription is made to a broker that is a member of a collective, or is directly linked to another broker, all brokers that are connected to the broker create a proxy subscription. The total number of proxy subscriptions and direct subscriptions must be less than 25 000 for each of your brokers. This limit has implications on how you plan your broker topology.
For example, consider a collective of N brokers. To maximize connectivity, you connect an instance of a client to each broker with each of those instances subscribing to the same unique topic. Therefore, for N brokers, each unique topic has N clients. In this situation, each broker has a subscription to each client connected to it, and also a proxy subscription to each of the other brokers in the collective. Therefore, each broker has N subscriptions for every unique topic (one for the client that is directly connected, and N-1 for the proxy subscriptions to all of the other brokers). If there are T unique topics, you should make sure that N*T <= 25 000. That is, if you have 1000 unique topics, your collective should be restricted to a maximum of 25 brokers.