Tune your brokers, and the databases that they use, to handle a large number of subscriptions.
WebSphere® Message Broker supports up to 25 000 subscriptions on a broker. The following sections describe some of the actions that you can take to tune your brokers and databases to handle these subscriptions efficiently.
Change the broker property jvmMaxHeapSize. The default value for this property is 128 MB.
The value of this property must be large enough for all of the 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 268435456
where brokername is
the name of your broker.The Configuration Manager uses the list of subscriptions which might be stored on your local hard disk:
The directory must be at least twice the size of the topic space; that is, for 10 000 subscriptions that each use 20 KB, the size of the directory must be at least 512 MB.
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 caused by a limit to 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 Linux and UNIX systems, this file is located
in {DB2InstanceHome}/sqllib/cfg/db2cli.ini..
On Windows systems, this file is located
in C:\Program Files\IBM\SQLLIB\db2cli.ini.
Add the following lines to the file:
[{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 that 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 that is 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, ensure that N*T <= 25 000. That is, if you have 1000 unique topics, restrict the size of your collective to a maximum of 25 brokers.