Cisco Cisco Workload Automation 6.3 Technical References

Page of 46
36
Tuning CWA
Configuration and Tuning
JMS
Both the Master and Client Manager rely on the Java Message Service (JMS) for internal and cross communication with 
each other. You can think of JMS as the communication link between the Master and Client Manager. That is why JMS 
can greatly impact performance, especially if there is a lot of data moving back and forth between the Master and Client 
Manager., such as the primary and secondary cache synchronization.
JMS sessions process all messages such as during the use of one worker thread per session. The following threads are 
affected:
MinSessionPoolSize – minimum number of ActiveMQ sessions kept pooled. Having sessions available to handle 
requests reduces the cost of allocating sessions on demand.
MaxSessionPoolSize – maximum number of ActiveMQ sessions kept pooled.
Note: If more sessions are needed to process messages, the system will still allocate them. This setting only limits 
the number of sessions allowed to be pooled.
MaxConcurrentMessage – maximum number of ActiveMQ messages allowed to be processed concurrently. This 
setting is important for increasing throughput and utilizing all the cores on a system when there are many messages 
waiting in the ActiveMQ queues.
The following Message Brokers handle all JMS traffic:
MessageBroker.MemoryLimit – how much memory (in MB) to allocate to ActiveMQ for storing in-flight messages. If 
queues become full, ActiveMQ will page messages to disk, which is more expensive than keeping them in memory.
MessageBroker.TempLimit – how much memory (in MB) to allocate to ActiveMQ for storing temporary messages. If 
queues become full, ActiveMQ will page messages to disk, which is more expensive than keeping them in memory.
MessageBroker.StoreLimit – how much disk space (in MB) to allocate to ActiveMQ for storing in-flight messages 
when memory is full.
The following master.props properties are what you would tune for DSP to Master message traffic for all DSP 
connections:
MinSessionPoolSize (5)
MaxSessionPoolSize (10)
MaxConcurrentMessages (10)
The following master.props properties are what you would tune for DSP to Master message traffic per DSP connections:
ClientConnection.MinSessionPoolSize (2)
ClientConnection.MaxSessionPoolSize (5)
ClientConnection.MaxConcurrentMessages (5)
The following master.props properties are what you would tune for Remote Master to Master message traffic per Remote 
Master:
RemoteMasterClient.MinSessionPoolSize (2)
RemoteMasterClient.MaxSessionPoolSize (5)
RemoteMasterClient.MaxConcurrentMessages (5)
The following master.props properties are what you would tune for Master to Remote Master message traffic per Remote 
Master:
RemoteMasterServer.MinSessionPoolSize (2)