You cannot tune FEPI itself--it is already optimized for speed of response. However, you can influence the performance of FEPI application programs.
FEPI runs under a separate CICS® task control block (TCB) and CICS permits only one application program to issue a FEPI command at a time. This is a major influence on FEPI performance. Although many application programs can have FEPI commands being processed at any time, only one application can issue a FEPI command.
In a lightly loaded system, this means that CICS does not run FEPI until a command is issued. Thus, performance is impacted by the overhead of starting up the TCB so that the FEPI command can be processed. In a heavily loaded system, this overhead is not present, because the TCB is already active processing earlier FEPI commands. This is in contrast to a traditional CICS system, where a lightly loaded system may perform better than a heavily loaded one.
FEPI tries to minimize this overhead by issuing timer requests that ensure that the TCB is not inactive for more than one second.
There are three main principles that should be used in FEPI applications to provide the best performance:
Techniques to use in application programs in support of these principles are given in Performance.
As to FEPI system programming, command usage can be reduced by using lists of resources on a command where possible. However, when a command using a list results in a VTAM® operation, you could:
So you must carefully evaluate the benefits of using lists.
CICS monitoring and statistics data can help with performance tuning and resource planning for applications that use FEPI.
By default, CICS performance class monitoring records include the following data about the user task:
For detailed information about the FEPI-related fields in performance class monitoring records, see the CICS Performance Guide. For information about using the DFHMCT TYPE=RECORD macro to control which FEPI fields are monitored, see the CICS Resource Definition Guide.
The standard CICS statistics reports contain data about usage of:
To obtain the current statistics for a FEPI pool, connection, or target, a utility program can issue an EXEC CICS COLLECT STATISTICS command. For example, the command EXEC CICS COLLECT STATISTICS SET(pointer) POOL(GRPD) returns the current statistics for the 'GRPD' pool. To map the returned statistics, your utility program should include the appropriate CICS-supplied copybook:
The copybooks are supplied in COBOL, PL/I, and assembler language.
To cause all FEPI statistics to be written immediately to the SMF statistics data set, you can use either the EXEC CICS or the CEMT version of the PERFORM STATISTICS RECORD FEPI command.
For details of the CEMT COLLECT STATISTICS and PERFORM STATISTICS RECORD commands, see the CICS Supplied Transactions; for programming information about the equivalent EXEC CICS commands, see the CICS System Programming Reference.
To format and print FEPI-related statistics in the DFHSTATS data set, you can use the CICS-supplied utility program, DFHSTUP. To print only the FEPI statistics, specify the command parameter SELECT TYPE=FEPI. For information about how to use the DFHSTUP program, see the CICS Operations and Utilities Guide. For detailed information about fields in the FEPI statistics records, see the CICS Performance Guide.
[[ Contents Previous Page | Next Page Index ]]