Get Started With CICS Performance and Tuning


This article begins with focus on mainframe CICS but as it progresses, the focus shifts to CICS on all platforms, a progression that matches the product’s development. While techniques discussed are initially mainframe-based and oriented to CICS Transaction Server (TS), most principles and concepts apply to all processing platforms; syntax, parameters and implementation specifics may vary, but CICS functions (under names like TXSeries, Transaction Gateway and ICS TS) is the consistent target of discussion.

The first question when starting a tuning project is: What should I look for? With CICS, tuning has changed dramatically over the decades. When I joined IBM in 1978, CICS/Virtual Storage (VS) was a single-platform (mainframe), single-region product that enabled alphanumeric-only, monochrome (green screen), 3270-based applications, processing business functions like order entry/inquiry, customer service, accounting, shipping, etc. I recall re-generating a CICS/DOS system on a small IBM computer, trimming every possible feature to fit the system within available real storage. Tuning was simple back then; the only processing resources to tune were processor utilization, real storage, a few CICS parameters and application code.

VS, a 24-bit addressing scheme that expanded a region to 16 MB (minus OS storage) complicated CICS/VS tuning, because more storage and DASD enhancements meant more real-time data could be processed. Data set layout, channel speed, utilization, disk rotation time and arm movement, and buffering now became vital. Tuning was no longer limited to processor utilization, real storage, some CICS parameters, and user code; I/O became another crucial tuning skill. Relieving one bottleneck only to reveal another became a tuning characteristic.

Real storage was still pretty limited on System/370 processors, and paging performance quickly became a major issue. High-end IBM processors had an instruction execution time around a hundred nanoseconds, and page data transfer was measured in milliseconds, so performance was drastically degraded when the processor had to wait for a page operation a million times slower than its execution time. Multiprogramming mollified that effect, but CICS was a single Task Control Block (TCB) implementation, meaning all transactions waited on a page operation. Page tuning became a new skill to add to the tuning list, fueling rapid online growth.

The online systems explosion generated a new constraint; virtual storage tuning. Between system software (e.g., MVS, DFP, RACF, CICS, etc.) and application (e.g., code and working storage) growth, VS within the CICS region was curtailed. Virtual storage—which diminished real storage constraints—was now constrained itself. CICS evolved Intercommunication to enable Terminal, Application or File Owning Regions. CICS function could now be spread across multiple regions, and more System Initialization Table parameters addressed VS performance. New releases further improved VS usage.

The mainframe’s workload diversified, largely because it was no longer the only player in IT. Midrange systems like IBM’s System/3x evolved into AS/400 as a smaller mainframe alternative, initially used standalone, but soon communicating with mainframes, followed by the PC with similar network requirements. Telecommunications evolved from analog to digital; Local Area Networks, T1 and fiber-optics revolutionized networking. Network tuning became mandatory, assuming the complexity and sophistication of computer tuning. Bandwidth, routing, compression and other verbiage became standard vocabulary in data centers with private networks, key to CICS performance in terms of response time.

As a consequence of workload diversification, workload management gained great significance. IBM developed Workload Manager (WLM)—a component of the z/OS system—and since has been extended to AIX and other OSs. WLM uses definitions (e.g., Service Classes, Goals, Importance Levels, Response Time) to monitor the work mix running on various platforms, modifying job priorities, I/O processing and all system performance characteristics for all processing complex work. It controls which work gets computing resource based on WLM definitions, including CICS.

CICS aggressively expanded into the internet as it flourished, with new functions like CICS Web Interface, CICS Sockets, Command Level Interface (EXEC CICS WEB/DOCUMENT commands), password authentication and SSL support, plus other web function. Even more impactful was the emergence of CICS Transaction Gateway and TXSeries for Multiplatforms, a distributed CICS online transaction processing (OLTP) environment for mixed language applications on AIX, Windows Server, Encina, Linux, etc. CICS now runs on varied platforms, interacting with CICS TS and peer nodes. This has been an area of rapid tuning growth.

Jim Schesvold is a technical editor for IBM Systems Magazine. Jim can be reached at

Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.

comments powered by Disqus



2017 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters