CICS Performance & Tuning
Code: CICSPTDescription
This course will give attendees a much better understanding of how CICS operates and the major areas that affect performance.
Audience
This course is aimed at:
- CICS Systems Programmers
- Performance and Capacity Planning Personnel
Prerequisites
Attendees should have 1 or 2 years supporting CICS Transaction Server.
Objectives
This CICS course covers version 6.1, and it is also possible to cover the course on version 5.x.
Upon completion, attendees will have a much better understanding of how CICS operates and the major areas that affect performance. Attendees will be taken through CICS Dispatching, Storage Management, CICS/VSAM processing. Data Tables and Terminal Control. Intercommunication, Tracing, Recovery, Program Management are covered as well as the CICS/DB2 Interface, Temporary Storage and Transient Data. Threadsafe implementation and Java are also covered. The approach taken is to discuss how each CICS function works, how to diagnose bottlenecks and then to see how performance can be improved. Statistics are reviewed for many of the components discussed.
A CICS 6.1 system will be available for online access and workshops. This course is also available at previous releases, please ask for details.
Topics
Day 1
Introduction
Initial Observations
Why Tune?
Response Time ‘end to end’
Network Time
Internal Response Time
Dasd Response Time
Non-CICS Component Tuning
Observation
Methodology
Data Capture Tools
Bench Marking Tools
Modelling Tools
CICS Statistics
The STAT Transaction
What Resources can be Tuned?
CPU
I/Os
Serialisation
Kernel, Transaction Manager and the Dispatcher
The Role of the TCBs (Task Control Blocks)
SIT Parameters
KE_TASK – Tasentry Sizes
Task Attach – Queued
MXT issues
Task Attach – Success
How work is started – different ways
First Dispatch
Region Exit Interval – ICV
Dispatch Chains
ECBs – Hand Posting
Quasi- Reentrant TCB
A review of the:
• Kernel Domain Summary Table
• Transaction Manager Domain Summary Table
• The Dispatcher Domain Summary Table
CICS/TS Storage Management
Address Space Layout
Prefixed Save Area – PSA
System Queue Area and Extended System Queue Area
Link Pack Area and Extended Link Pack Area
z/OS Common System Area
Scheduler Work Areas
z/OS Storage within the CICS Region
z/OS Storage above the CICS Region
Storage fragmentation
Defining the size of the Dynamic Storage Areas:
• DSALIM
• EDSALIM
Understanding how the DDAs are used/allocated
Short on Storage and Storage Cushion sizes
Storage Subpools
Day 2
Storage Protection and Transaction Isolation
Storage Violations
Understanding Storage Keys & Storage Protection
Enabling Storage Protection
Enabling Transaction Isolation
• Performance Cost
• Subspace usage
Language Environment
CEEROPT/CEECOPT
AUTODST
RUWAPOOL
The CLER Transaction
CICS and VSAM
Defining a File – CEDA/CEDB
File Open – Startup vs Firstref
Defining LSRPools – Local Shared Resource
Non Shared Resources Buffering
Locking – Non-RLS
RLS – Record Level Sharing
• Defining RLS to the CFRM Policy
• Enabling RLS – SIT and CEDA Define file
• z/OS and RACF considerations
Understanding Control Interval Locking
• CILOCK – SIT option
• Record Locking
Deadly Embrace
RLS Deadlocks – Poor Design
Premature CA Splits
Index Component definition incorrect
File and Local Shared Resource Stats
CICS Data Tables
Defining Data tables
• CICS Maintained Data Tables
• User Maintained Data Tables
Shared Data Tables
Data Tables Performance vs Function Shipping
Defining Data Tables to the CFRM Policy
Day 3
CICS Terminal Control
Round Trip Time
High Performance HPO – SVC
SIT Options:
• RAMAX
• RAPOOL
EOD VTAM Stats
SNA Chaining
SENDSIZE/RECEIVESIZE
TIOA/IOAREALEN
Autoinstall of Terminals
ICVTSD
CICS Intercommunication
Defining Connections/Sessions
QUEUELIMIT/MAXQTIME
VTAM Generic Resource
• Defining VTAM Generic Resource to the CFRM Policy
Dynamic Dispatching/Workload Balancing – DFHDYP
MRO/XCF - APPC
MROBTCH/MROLRM – SIT options
Transaction Routing
CICS Relay Transaction
Function Shipping
The Mirror Tasks
Distributed Transaction Processing
Asynchronous Processing
Distributed Program Link
Batch to CICS – ECI
The CRTE Transaction
CICS Web Services, Secure Sockets Layer and TCPIP
Structure of CICS Web Services
Where are the Waits
URIMAPs
• Usage=Client, Server, Pipeline
Top Down
Bottom Up
Defining TCPIPSERVICE
• Socketclose
SSL Delay
Defining SSLTCBs
• S8 TCBs
• S9 TCBs
Day 4
CICS Tracing
Impact of Tracing
CETR
• Setting Level 1, Level 2 Component Tracing
Recovery Restart and Logger
Global Catalog Buffers
Defining Log Streams
CICS Startup
• Initial
• COLD
• AUTO
DFHLOG/DFHSHUNT
Defining to the LOGR
• Options and Specifications
Unit of Work
CSKP and Activity Keypointing
Syncpoint
Loader and Program Management
LLA and VLF
CEDA Define Program
Autoinstall of Programs
Reentrant Programs and Key 0
Conversational vs Pseudo Conversation
Commareas
Channels and Containers
Loader Domain Statistics
Temporary Storage
TSModels
Temporary Storage Main Vs Auxiliary
Forcing all Temporary Storage to Main
Buffering and I/O Statistics
Defining Temporary Storage Pools to the CFRM Policy
Transient Data
Types of Transient Data Queues
Extrapartition, Intrapartition
Recovery
Day 5
CICS/DB2 Interface
Defining the DB2 Connection
Data Sharing Group Name
Defining the Threads
• Control Threads
• Entry Threads
• Pool Threads
The Attachment Facility
DSNC Transaction
Subtask Creation
Authorization
Usage of Open TCB – L8
Tuning Parameters
Understanding Threadsafe Performance
OTE Overview
Why the need for Threadsafe
How Threadsafe can impact Performance and Throughput
Defining Threadsafe programs
Researching which programs can be Threadsafe
System Programmers Tasks
SIT Options that affect Threadsafe
MAXOPENTCBs
Tracing Threadsafe
CICS and JAVA
JVM Pools
JVM Heap Storage
Selected SIT Parameters
SIT parameters that can affect performance
Price (ex. VAT)
Duration
Delivery methods
- Classroom
- On-site (at your location)
- Virtual (instructor online)