CICS/TS Performance & Tuning

CICS/TS Performance & Tuning

Audience

This course is aimed at:

  • CICS Systems Programmers
  • Performance and Capacity Planning Personnel

Prerequisites

Attendees should have 1/2 years supporting CICS Transaction Server.

Duration

5 days. Hands on.

Course Objectives

Upon completion, attendees will have a much better understanding of how CICS operates and the major areas that affect performance. Attendees will be taken thru 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/TS system will be available for online access.

Course Content

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

Virtual Courses

ALL of our courses can be delivered virtually. And our Bath public schedule of courses are now available as live virtual sessions, using the popular Zoom Virtual Classroom and remote labs. Delegates can test their access at: www.zoom.us/test

Public Courses

There are no upcoming events

On-Site Courses

Can't attend one of our public classes? Booking for multiple people?

All our courses are available on your site! Delivered for your staff, at your premises.

Contact us to find out more...