CA Application Insight (CAI) Load Limitations for CICS Agents

Document ID : KB000072953
Last Modified Date : 08/05/2018
Show Technical Document Details
Introduction:
This document describes the load capacities, limitations, and tuning capabilities for the CAI Broker regarding CICS agent volume. This analysis does not necessarily extend to Java Agents.
Environment:
All Supported DevTest Releases.
Instructions:

Intent
CAI for CICS allows you to virtualize services so that you do not have to test on a production system or necessarily have a lab equal to a production environment.  It is not intended that CICS agents live in production environments during production uptime.   CAI is not intended to scale to production levels. In an environment for development testing, that level of scaling would not generally be necessary.

Capacity
A server with a broker running with a heap allocation of 4GB can accommodate between 16-20 active CICS agents.  When exceeding this number “Max broker memory usage” messages are likely to appear and the broker will cease to function properly.  This can occur even if the system is idle. 
The behavior above describes the edge of capacity.  Once the active agent threshold is exceeded, memory errors are not defects.  There are some things that can be done to tune this and potentially extend the capability; however, those procedures tune parameters outside of the original design intent and will only be supported on a “best effort” basis.

Broker Scalability
CAI is designed to have a single Broker per Registry.  This is an architectural constraint, do not attempt to have more than one broker on a registry.  To scale this out, install multiple instances of the DevTest/SV environment.

CICS Agent Granularity
LPAR agents are message and management hubs for multiple CICS agents.  It is possible to have multiple LPAR agents per broker if the broker mainframe bridge is in server mode.  
Should the number of CICS agents exceed the broker threshold, it is possible organize each region onto its own LPAR agent.  Then unused groups can be disabled to perform recording or playback tasks. This will work as long as the selected subgroup does not exceed the 16-20 agent threshold.  This would allow a larger number of available agents, while only having active a number of agents that will allow the broker to run properly.

Memory and Message Tuning
In the event of memory issues related to messaging (Agent capacity), there are some things that can be done that may mitigate the problem. 

  • Increase JVM memory:  The problem may be solved by increasing the Broker’s JVM Heap size.

    • In %LISA_HOME/bin find Broker.vmoptions.

    • Edit this and add the following line: -Xmx4g

    • Note: the “4g” above denotes 4 gigabytes.  This can be made higher.

    • Note: This is a request of the operating system and not a guarantee. If the memory is not available because there isn’t enough physical memory or because other applications are using memory the OS may not allocate memory for the heap to grow up to this level. Make sure your machine has the capacity to have this honored.

  • Decrease the number of active agents (as described in CICS Agent Granularity above).

  • Retune messaging components

    • Add one or both of the following configuration statements to the broker rules.xml file (the one located in $LISA_HOME), add them inside the <broker></broker> block.

      • <property comment="Polling interval for agent Info" key="lisa.agent.agent.update.int" value="5000"/>

      • <property comment="Polling interval for agent Stats" key="lisa.agent.stats.sampling.interval" value="5000"/>

    • Note: These can be on each one line

    • Note: 5000 = 5 seconds.  This value can be modified up or down. 1000 is the default value.

    • It is possible that modifying these values too far can cause timeouts or sluggishness in response in the portal for agent related activities.

    • Note:  These settings are outside of the default settings and were not intended as tuning parameters. Exceeding the standard agent capacity may be possible by altering these settings but will only be supported on a “best effort” basis.