CICS Application Performance Analysis

For CICS applications, whether you approach the Performance Profile from the transaction or region side is largely determined by your performance improvement goals.

  • If your primary goal is to reduce resources used by a region or increase the throughput of your application, see suggestions below about improving CPU or response time.

  • If your primary goal is to improve response times and service levels, look at the CICS Service Time report, as described below.

Note that determining the validity of a CICS Performance Profile is slightly different from batch job step Profile validity. CICS may show a high amount of wait time in the Measurement Session Data report. The wait time may be time during which CICS is waiting for work, that is, waiting for transactions to process. In that case, wait time is not a problem. Be sure to look at your CICS region when it is busy, or when the transaction of interest is processing.

Analyzing the CICS Service Time Report

On the CICS Service Time report, look for transactions with large values in the CPU % Time or Mean Service Time: Total columns to determine which transactions to target.

If a transaction shows high CPU time or service time and you did not request detail at measurement time, consider remeasuring and specifying detail for that transaction. When you create the Performance Profile in Strobe, tailor the report to  include only those transactions.

Expand the entry for a transaction for which you requested detail. Select a module showing significant time in the Suspend or Exec time columns. Expand the module to view the commands it invoked. For each command, you view which CICS resources caused the suspend time, and which user modules and non-CICS service modules caused the execution time. Click underlined resource types, resource names, and modules to see performance improvement suggestions.

If you see the entry NON-API in the Module Name/Command column and its service time is significant, expand it to examine the non-API service time. Click underlined resource types, resource names, and modules to see performance improvement suggestions. If you see high execution time to a user module, examine it in the Program CPU Use report. For language routines or MVS supervisor calls, examine the Attribution of CPU Time report to identify the invokers of these routines.

CPU or Response Time?

How you continue your analysis is determined by your performance improvement goals.

  • If you are most concerned with improving transactions throughout and efficiently managing CICS resources used by all applications, look at the CICS Region Suspend report. This report lists the CICS resources that have caused transaction suspend time. Expand the entry for any Suspend Category Class with either significant values in the % of Region Suspend or Suspend Time of Avg Tx columns to view details about the specific resources within the class that caused transaction delays. Click underlined resources to see suggestions on how to reduce wait from the IBM Problem Determination Guide. To make a report with many entries easier to read, select Preferences from the iStrobe Options menu and use the Threshold option to focus the report on your areas of concern.

  • If you are more concerned with reducing CPU use within the region, examine the Program CPU Use report. If .SYSTEM (system routines such as SVCs, subsystem routines, and library routines) consumes the most CPU, see the CPU analysis suggestions in the general application performance analysis topic. If .USER is consuming the most CPU, see the source code suggestions in the general application performance analysis topic.