For EXCI workloads, CICS Transaction Gateway and CICS must
be configured to ensure there are is not an EXCI pipe shortage.
A connection manager uses one worker thread for every request
to run a transaction in CICS®. A worker thread allocates
one EXCI pipe (MRO session) to every CICS server
(APPLID) with which it communicates. This can be limited to a single
pipe
using the setting CTG_PIPE_REUSE.
Configure your system
as follows:
- Set the maximum number of connection manager threads (maxconnect)
in the Gateway daemon to the same value as the maximum number of connections
in all connection factories that connect to the Gateway daemon.
- Set the initial number of connection manager threads (initconnect)
to the same value as the minimum number of managed connections in
the connection pool in all connection factories that connect to the
Gateway daemon.
- Set the maximum number of worker threads to a value
that meets both the following criteria:
- Less than or equal to the maximum number of connection manager
threads.
- Less than or equal to the EXCI LOGONLIM.
- Set the initial number of worker threads to the same value as
the initial number of connection manager threads.
- Set the RECEIVECOUNT for the CICS SESSIONS
definition to a value that meets both the following criteria:
- No less than the value for EXCI LOGONLIM.
- The same value as the number of worker threads in the Gateway
daemons that can connect through this connection (if multiple Gateway
daemons share a connection).
When EXCI connections are used by a Gateway daemon,
the maximum number of worker threads is restricted to LOGONLIM. Because
all CICS server connections share the same pool of worker threads,
this restriction also affects any IPIC connections. If EXCI has been
disabled using the CTG_EXCI_INIT parameter,
this restriction does not apply.
EXCI connections
When you
define your EXCI connections you can choose between generic EXCI
pipes and specific EXCI pipes. Specific EXCI pipes give
slightly better performance. See CICS server connection definition for more information
on selecting your EXCI connections.
EXCI resource shortage
An
insufficient number of EXCI pipes causes intermittent resource shortage
errors to be reported to the API. Requests receive ECI_ERR_RESOURCE_SHORTAGE
errors. This can occur when any of the following events is happening.
- Several CICS servers
are being used by each Gateway and the CTG_PIPE_REUSE=ALL model is
in use.
- Large numbers of worker threads are being used.
- Requests receive EXCI return code 608 if the value of LOGONLIM is
exceeded, or EXCI return code 202 if the number of CICS receive sessions is exhausted.
- Significant numbers of requests are being timed out by the EXCI
timeout mechanism.
- Requests receive EXCI return code 202 if the number of CICS receive sessions is exhausted.
The EXCI options table, generated by the DFHXCOPT macro, enables
you to specify the time interval, in hundredths of a second, during
which the EXCI waits for a DPL command to complete.
If CS_CALLOC
= CS_SLOGONLIM all EXCI pipes are in use. Resource shortage
errors might occur because there are not enough EXCI pipes available
to support the number of incoming requests from the worker threads.
If
several CICS servers
are being used by each Gateway, change the CICS Transaction Gateway pipe
usage model by setting the CTG_PIPE_REUSE=ONE configuration
parameter.
If large numbers of worker threads are being used,
increase the value of the CICS LOGONLIM system
parameter for the LPAR.
If large numbers of worker threads
are in use, or significant numbers of requests are being timed out
by the EXCI timeout mechanism, and the value of the RECEIVECOUNT parameter
in the CICS SESSIONS definition
is less than double the value of the number of worker threads created
(WT_CCURR), increase the value of the RECEIVECOUNT parameter
in the CICS SESSIONS definition
to be at least double the value of WT_CCURR.
Other factors
When you define
your EXCI connections you can choose between generic EXCI pipes and specific
EXCI pipes. Specific EXCI pipes give slightly better performance.
See CICS server connection definition for more information
on selecting your EXCI connections.