ims connect performance and tuning - ims ug august 2012 sao paulo

53
1 © 2012 IBM Corporation August 2012 IMS User Group, Sao Paulo, Brazil IMS Connect Performance and Tuning Mike Gonzales IBM Software Group

Upload: ibm-ims

Post on 21-Nov-2014

1.363 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

1 © 2012 IBM Corporation

August 2012 IMS User Group, Sao Paulo, Brazil

IMS Connect Performance and Tuning

Mike GonzalesIBM Software Group

Page 2: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

2 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

222

© Copyright IBM Corporation 2012. All rights reserved.U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, NOR SHALL HAVE THE EFFECT OF, CREATING ANY WARRANTIES OR REPRESENTATIONS FROM IBM (OR ITS SUPPLIERS OR LICENSORS), OR ALTERING THE TERMS AND CONDITIONS OF ANY AGREEMENT OR LICENSE GOVERNING THE USE OF IBM PRODUCTS AND/OR SOFTWARE.

IBM, the IBM logo, ibm.com, Information Management, IMS, CICS, DB2, WebSphere and z/OS are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml

Other company, product, or service names may be trademarks or service marks of others.

Disclaimer

Page 3: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

3 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect – High Performance since inception

• Evolved from ITOC :

– IMS TCP/IP OTMA Connector

• ICON :

– IMS Connect

Page 4: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

4 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

• ITOC :

– Information Management System Telecommunication

Protocol / Internet Protocol Open Transaction Manager

Access Connector

• ICON :

– Information Management System Connect

Page 5: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

5 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

Agenda

• Infrastructure

• IMS Connect Clients

• IMS Connect

Page 6: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

6 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

SERVERz/OS,WIN,

AIX, SUN, …

SNA

z/OS

TCP/IP

ICON

OTMA

IMS

VTAM

IMS BRIDGE

MQSeries

LU1

LU2

LU 6.1

LU 6.2

XCF

AnyTCP/IP

App

RYO

Client

TN3270

Websphere

MWS

PC

ICON

IMS BRIDGE

MQSeries

z/OS

XCF

XCF

ITRA

Websphere

PC

MQSeries

TCP/IP

Websphere

IMS TM

Resource

Adapter

End User

TCP/IPApplication

SCI

OM

IMS ControlCenter

BTAM <V10

VTAM

MFS Web

Services

ITRA

IMS SOAPGateway

Page 7: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

7 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

Infrastructure

• TCP/IP

• XCF

• OTMA

Page 8: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

8 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

TCP/IP : Performance on z/OS

In PROFILE.TCPIP configuration on the mainframe, ensure:

• IMS Connect PORT set to NODELAYACKS. This allows ACKS to be sent immediately.

• Specify SHAREPORT, which allows IMS Connect PORTS to be shared by multiple IMS Connect instances on the same stack.

• TCPCONFIG INTERVAL or KEEPALIVEOPTIONS INTERVAL allows TCP/IP to maintain a connection that can be inactive for long periods of time.

• SOMAXCONN must be defined large enough for maximum concurrent connections.

Page 9: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

9 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

TCP/IP :

• SYS1.TCPPARMS (TCPDATA)

– a.k.a. (TCPIP.PROFILE)

• SEND and RECEIVE Buffer sizes

– Can be set as a socket option else defaults to system size

– If unspecified, defaults to 16K

• D TCPIP,tcpip,NETSTAT,option (ALL, STATS, etc.)

Page 10: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

10 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

XCF : Transport Classes and Message Buffers

• Transport Classes

– Transport classes are used to group messages

– Using the CLASSDEF parameter in the COUPLExx parmlib member you can assign messages to a transport class based on:

� the group name� the message size� both group name AND message size

– Each transport class has its own resources which consists of a buffer pool and one or more outbound signaling paths.

– Keep the number of transport classes small

� In most cases, it is more efficient to pool the resources and define the transport class based on message size

� Transport classes for specific groups based on early product recommendations should be reviewed for change or removal

– Ensure MAXMSG is large enough to handle peaks and growth for all message sizes

• Message Buffers

– XCF message buffers are managed by :

� Selecting the size of the message most frequently sent from specific buffer pools→ Prevents overhead of message chaining and re-assembly

� Specifying an adequate upper limit for the size of the buffer pool.

Page 11: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

11 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

XCF : Transport Classes

Page 12: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

12 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

XCF : CF Structures

• Structures (CFRM Policy)

– SIZE

– Struct name on PATHOUT

Page 13: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

13 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

XCF : Tuning Considerations

• The CLASSLEN value determines the size of the most frequent message expected in this transport class. If a message could be assigned to more than one transport class, XCF selects the one with the smallest buffer which will hold the message. If the signal is larger than the CLASSLEN for any of the assigned transport classes, XCF has to choose a transport class to expand. XCF assigns the message to the transport class with the largest buffer size and expands the buffer size of this transport class.

• Expanding the message buffer entails some overhead. The PATHOUT on the sending side and the PATHIN on the receiving side must be cleared out and expanded to handle the larger buffer size. A new, larger buffer must be obtained on the PATHIN side. If no additional messages of this size are received in a short time period, XCF then contracts the PATHIN, PATHOUT, and buffer sizes. In both of these cases extra XCF internal signals are generated to communicate these changes.

• The best way to eliminate the overhead of expanding and contracting the message buffers is to define transport classes based solely on the size of the message buffers. One class with the default length of 956 should handle most of the traffic. A second class can be defined to handle larger messages.

Page 14: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

14 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

OTMA : V12 CM0 Enhancement

New option for CM0 to request DFS2082

– When IMS application does not reply to the IOPCB

Reduces delay for client time-out– remote application performance improvement - removes timeout wait

Page 15: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

15 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

OTMA : V12 OTMA Sync Shared Queues Enhancement

New option to use IMS XCF instead of RRS as a sync point manager

• Provide option to use MVS Cross Coupling Facility (XCF) for communication instead of RRS between Shared Queues Front-End and Back-End systems

• IMS is the sync point manager rather than RRS

• AOS= parameter specifies new options to use XCF

• AOS=B – XCF for NONE/CONFIRM, RRS for SYNCPT, if RRS active• AOS=S – XCF for NONE/CONFIRM, RRS for SYNCPT, RRS forced• AOS=X – XCF for NONE/CONFIRM only, no RRS

• New AOSLOG= parameter to request 6701 log record

• Remove RRS dependency for OTMA Commit Mode 1 (send-then-commit) with sync level of NONE or CONFIRM

• Improves transaction performance and simplifies the syncpoint process by using XCF

Page 16: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

16 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

OTMA : RACF

• Standard RACF tuning applies

• There are important performance APARs for cleaning up expired ACEE’s

– PK79669 – IMS V10

– PK79670 – IMS V11

• If the OTMA Client ACEE timeout value is too small it can cause performance problems in OTMA

– There is a command to force the refresh of a Userid

– /SECURE OTMA REFRESH USER user_id

Page 17: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

17 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

OTMA : V12 Enhanced OTMA Security

• OTMA ACEE Caching

– Prior to V12

� Each client connected to IMS could potentially have the same users (ACEE's)

� ACEE was created for each client

– V12 now eliminates duplicates

� One ACEE per user regardless of # clients

� Less storage usage

� Fewer hash table synonyms

→ Less cpu to search

– One RACF ACEE for the same userid is created and cached for all of the OTMA clients

� New maximum ACEE aging value of 99,999 seconds

– More efficient usage of storage for caching RACF ACEEs providing improved security and performance

Page 18: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

18 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Clients

• Socket Types

• Size/Number of WRITES

• TCP/IP Client Options

Page 19: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

19 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Clients : Basic verb flow

• Socket

– Establish the environment

• Connect

– Establish the socket connection to the Host Port

� The socket stays open until a Disconnect from the Client or ICON

• Write

– Send data (could be ACK/NAK or Resume TPIPE)

• Read

– Retrieve data (could be ACK/NAK or Deallocate)

• Close

– Disconnect

Page 20: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

20 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Clients : Socket Types

• Non-Persistent socket

– Close (Disconnect) after each send to the ICON Client (input/output pair)

– This includes iterations of an IMS conversation

– Never use this – except maybe for long running (all day) IMS conversations with little traffic per conversation

• Transaction socket (default socket type)

– Close (Disconnect) after each transaction or complete conversation

– This has Connect/Disconnect overhead in the ICON Client and ICONand TCP/IP for each message

• Persistent socket

– Connect once then multiple write/read iterations for multiple transactions before Close (Disconnect)

– The FIRST Client ID is used for ALL messages

– Most efficient socket type

– Sockets remain open so be sure enough sockets are defined

Page 21: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

21 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

OTMA : Socket Performance

• Use persistent sockets for traditional transactional processing. This prevents the overhead of issuing TCP/IP connects and disconnects.

• For asynchronous output processing, transaction sockets are recommended, because they stay up for the duration of the timer value specified in the IRM header.

Page 22: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

22 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Clients : Number/Size of Writes

• Some ICON Clients use multiple TCP/IP Writes for one input message, e.g.

– One for the LLLL

– One for the prefix (IRM)

– One for the IMS transaction data

– One for the suffix (x’00040000’)

– This is bad for performance

– If you do not specify NODELAYACK on the TCPCONFIG or PORT statement in z/OS then TCP/IP on z/OS will wait for up to 200ms before ACKing each transmission

• If using multiple Writes be sure to set the NODELAYACK option (or TCP_NODELAY socket option)

• Best case – use a single Write for the full message

Page 23: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

23 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Clients : Application Protocol for Transaction

• IMS Commit Modes

– Commit-then-send (CM0)

� IMS commits changes to IMS databases before sending a response back to IMS Connect

� Minimum impact to IMS performance

– Send-then-commit (CM1)

� IMS sends the response back to the client before committing the changes to the IMS databases

� MPR occupancy increases

� Database locks held longer

Page 24: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

24 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Clients : TCP/IP Options

• SO_KEEPALIVE

– Activates KEEPALIVE for this socket

• SO_LINGER

– It is possible for a Socket Close issued by a Client to reach ICON before all the data from the previous Write

� Causes error overhead in ICON

� Affected by TCP/IP “SO_LINGER=Y/N, VALUE=N”

– Use SO_LINGER=Y,VALUE=10

� Return to Client Code when ACK is received from the host or after 10 seconds

� Socket Close should not lose previously sent data

• TCP_NODELAY=DISABLE

– Optimizes write performance

– Will buffer Writes while waiting for an ACK from the previous Write

• These parameters are specified on the SETSOCKOPT statement

– All other options should be reviewed to make sure they are optimized for the specific IMS Connect environment

Page 25: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

25 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect

• TCP/IP Options

• HWSCFGxx

Page 26: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

26 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect : TCP/IP Options

• KEEPALIVEOPTIONS

– The time in minutes to send a packet so that a connection does not time out or to see if a TCP/IP client has gone away

• PORT

– Reserve ports for IMS Connect

� Be sure to include the NODELAYACKS parameter

• SOMAXCONN

– The number of connection requests that can be queued because IMS Connect has not yet issued the accept call (default is 10)

• These parameters are specified in PROFILE.TCPIP

– All other options should be reviewed to make sure they are optimized for the specific IMS Connect environment

Page 27: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

27 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect : HWSCFGxx Options

• ECB=Y (default is N)

– Performance enhancement if TCP/IP >= 3.7

• IPV6=Y (default is N)

– Requires z/OS 1.4 or later

• NODELAY=Y (default is N)

– Indicates IMS Connect should use the TCP_NODELAY option for the USS SETSOCKET interface call

– A value of ‘Y’ will disable the “Nagle Algorithm” which adds a 0.2 second delay before sending subsequent partially filled packets to the end user

� Disabling the algorithm could result in increased throughput and decrease output message response time

� Corresponding increase in network traffic and consumption of bandwidth

• PORTID – use multiple ports to improve ICON parallelism

– One ICON TCB per port

Page 28: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

28 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect : HWSCFGxx Options

• RACF=Y/N

– Prior to IMS V12, no ACEE caching in ICON

– V12, RACF userid caching optional

• UIDCACHE=Y

– Enables caching of verified userids if RACF=Y

– UIDAGE – sets ACEE refresh interval in seconds

• MAXSIZE= This specifies the maximum LLLL that can be

specified for an input message to IMS Connect

– Ensure large enough for all transactions

Page 29: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

29 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect : HWSCFGxx Options

• MAXSOC= Maximum number of concurrent sessions for this IMS Connect

� The actual number of connections will be less than this number – one connection per port is used by IMS Connect as a listener connection

→ The default is 50

→ The maximum number is 65,535

� The MAXSOCKETS parameter in the BPXPRMxx member in SYS1.PROCLIB sets a limit for the total number of sockets in a system

� The MAXFILEPROC parameter in the BPXPRMxx member in SYS1.PROCLIB sets the maximum number of sockets for any job (e.g. ICON)

Page 30: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

30 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

Contact Information

For assistance or service engagement requests contact:

Jeff Hook, Manager IMS Technical Services

[email protected]

Mike Gonzales, IMS Technical Specialist

[email protected]

Page 31: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

31 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Performance and Tuning

Back-up charts

Page 32: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

32 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect

• Connections

– One IMS Connect can connect to multiple IMS Control Regions in multiple XCF groups

– One IMS Connect can have multiple connections to the same IMS copy

� Each connection is a separate OTMA client

– One IMS Connect connection can have multiple TPIPEs

� One per Port for CM1 messages

� One per Client for CM0 messages – this could be MANY TPIPEs!!!

� TPIPE HWS$DLQ is used when IMS Connect rejects OTMA output due to an incorrect OTMA prefix in the message

– One IMS Control Region can connect to multiple ICON’s

– ICON and IMS can be on different LPARs in the same Sysplex

Page 33: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

33 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect• IMS Connect

– IMS Connect is an IBM provided IMS OTMA client

� Comes with IMS – not an additional product

� Runs in a separate address space

– IMS Connect is also a TCP/IP Server

� The user TCP/IP applications are IMS Connect Clients

– Prior to IMS 10 and PK41284 program HWSHWS00 was

required to be in the Program Properties Table (PPT)

� After PK41284 you can run IMS Connect as a BPE address space

→PGM=BPEINI00, PARM=‘BPEINIT=HWSINI00...’

→HWSHWS00 does not have to be in the PPT

→See also PK73607 which fixes PK41284

Page 34: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

34 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect• IMS Connect

– ICON accepts input messages from and sends output

messages to the IMS Connect Client

� Could be the IMS TM Resource Adapter (ITRA)

→ IBM supplied J2EE IMS Connect Client

→Used to be called IMS Connect for Java (IC4J)

� Could be any TCP/IP Socket application

� Could be a Java Application, Bean, Applet, or Servlet

→Could be using the IMS Connect API for Java

� Can also send IMS Commands to and receive output from the IMS Operations Manager

(OM) via the Structured Call Interface (SCI)

Page 35: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

35 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect

• IMS Connect

– LOCAL option allows PC (program call) from another address

space instead of using TCP/IP

� IMS Connect and the IMS Connect Client must be on the same LPAR

– This is used only by IMS TM Resource Adapter (IMS TM RA)

� Unpublished interface

� No noticeable performance advantage

Page 36: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

36 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect

• IMS 11 Open Database

– IMS Connect is now the TCP/IP portal for access to IMS data as well as IMS transactions

Universal

DB Resource

Adapter

J

C

A

1.5

T

C

P

I

P

WAS on Any Platform

S

O

A

P

LPAR Az/OS

Distributed

LPAR B

LPAR C

XCF

IMS DB

CTL

IMS

PCSCI

ODBA

DLI

TCP/IP

JDBCTCP/IP

RYO DRDA Appl.

IMS DBCTL

IMS

PCSCI

ODBA

IMS Universal Drivers

LPAR A

IMS DB

CTL

IMS

PCSCI

ODBA

ODBM

IMS Connect

T

C

P

I

P

SCI

ODBM

ODBM

z/OS WASUniversal

DB Resource

Adapter

J

C

A

1.5

T

C

P

I

P

ODBA

PCSCI

Traditional ODBA

DLI

JDBC

IMS Universal DriversTraditional ODBA

JEE

Non-JEE

Page 37: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

37 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

LINELINE

USER – VIEW OF IMS RESPONSE - TIME

NCP NCPVTAM IMS IMS IMS IMS IMS VTAM

IO BUFBUFFER

IMSREGIONSERVICE

TIME

RECANYBUFFER

IO BUFBUFFER

HIOPSEND

MSGQUEUE

MSGQUEUE

NETWORKINBOUND

TIME

VTAMTRANSIT

TIMEINBOUND

IMSTRANSIT

TIME

IMSHIOPSEND

VTAMTRANSIT

TIMEOUTBOUND

NETWORKOUTBOUND

TIME

Message Transit Times

Page 38: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

38 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Transit Time

• From IMS XCF Receive to IMS XCF Send

• Run IMS PA Reports (or manually analyze Log Records) to obtain detail

Page 39: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

39 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Parameters

• HWSCFG (continued)

– TCP/IP control card (continued)

� PORTAFF=

→ IMS Connect allows “duplicate” client ID’s if each one is sending in

messages on a different Port

• This will not be allowed in IMS 10 unless PORTAFF=Y

→ When CM0 output is received IMS Connect will use the PORTID in the

OTMA User data to find the Client but only if PORTAFF=Y is specified

→ The default is PORTAFF=N – IMS Connect will start with the first Port

and sequentially scan them trying to find the Client ID

• In IMS 10 duplicate Client ID’s will not be allowed across Ports if PORTAFF=N or

is defaulted

Page 40: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

40 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Parameters

• HWSCFG (continued)

– TCP/IP control card (continued)

� PORTID= List of from 1 to 50 ports for ICON to listen on

→ To enable the local option you must include “LOCAL” as a port

→ WARNING: McAFee AntiVirus V8 blocks IRC ports 6666, 6667, 6668, 6669, 6670, 7000, and 8080 by default

→ TCP/IP says that multiple ports are really not needed for performance

• But they can be useful for availability

• IMS Connect has one TCB per port

→ Multiple ports can also affect duplicate client ID’s

• IMS Connect currently allows the same client ID on different ports

• This may not be true in IMS 10 as previously explained

→ Multiple ports can also affect asynchronous output

• The OTMA DRU exit can specify a specific port for an asynchronous output message (see the PORTAFF parameter)

→ Two IMS Connect copies on the same MVS can share a port

Page 41: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

41 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Parameters

• HWSCFG (continued)

– TCP/IP control card (continued)

� PORT=(ID=xxxx,KEEPAV=nn,EDIT=xxxxxxxx)

→ This is an alternate was of defining Ports to ICON

→ Introduced in ICON 10 via APAR PK72652

→ A Port can not be listed in both PORTID and PORT

→ There can be multiple PORT statements – one for each Port – up to 50

→ ID is the Port number

→ KEEPAV is the override value, in seconds, for the TCP/IP defaultkeepalive value

• This is the value that tells TCP/IP how long to wait before telling IMS Connect that a TCP/IP session has gone away

• The TCP/IP default can be very long and IMS Connect will not know that a session as ended

Page 42: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

42 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Parameters

• HWSCFG (continued)

– TCP/IP control card (continued)

� PORT=(ID=xxxx,KEEPAV=nn,EDIT=xxxxxxxx)

→ EDIT=xxxxxxxx (IMS 11) is the name of an exit to edit the input and output data from this Port before and after it is processed by IMS Connect

→ This allows the IMS Connect Client to send in any data stream, e.g. Pure XML (☺), and not have to conform to IMS Connect format

• The exit can add LLLL, LLZZPrefix, LLZZTrancode, etc.

→ The exit can also reformat the output data

• Remove IMS and IMS Connect artifacts

→ The exit can be dynamically refreshed via command

Page 43: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

43 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Parameters

• HWSCFG (continued)

– TCP/IP control card (continued)

� RACFID= Default RACF ID to assign to messages

� SSLENVAR= Member name of the SSL initialization file

→ SSL support is based on SSL for z/OS key management

→ STEPLIB must include:

• CEE.SCEERUN

• SYS1.CSSLIB

• GSK.SGSKLOAD

• Make sure you are completely up-to-date on maintenance if you are going to use SSL with IMS Connect

→ See the RUNOPTS card for additional SSL parameters

� SSLPORT= List of 1 Port for ICON to listen with SSL

→ It is highly recommended to use the z/OS 1.9 SSL support for TCP/IP

• “Application Transparent Transport Layer Security” (AT-TLS)

• PK78272 allows the User Message Exit to query the AT-TLS socket attributes

• Then IMS Connect can listen on multiple ports using SSL

Page 44: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

44 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Parameters

• HWSCFG (continued)

– TCP/IP control card (continued)

� TIMEOUT= Default time interval in hundredths of a second after which ICON times out

a client if there is no response from IMS

→ Range = 0 to 2,147,483,647

→ The default is 0 (no timeout)

→ The default timeout value can be overridden by the IMS Connect client

on a message by message basis

→ This value will also timeout a client that has connected to IMS Connect

but never sent a message

• Once a client has connected and sent in a message IMS Connect will not timeout

waiting for new input messages or ACKs

Page 45: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

45 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Parameters

• HWSCFG (continued)

– TCP/IP control card (continued)

� WARNSOC=nn,WARNINC=nn (IMS 11)

→ WARNSOC

• Decimal value between 50 and 99 (default 80)

• Sets a warning level as a % of the MAXSOC limit

• New message issued HWSS0772W when the warning value is reached

→ WARNINC

• Decimal value between 1 and 50 (default 5)

• Sets the incremental warning % after WARNSOC has been reached

• Re-issues HWSS0772W each time sockets increase by nn%

→ Existing message HWSS0771W is issued when MAXSOC is reached

→ Message HWSS0773I is issued when the number of sockets falls back below the warning level

• The message trigger is the lower of two times the WARNINC valuebelow the WARNSOC value or 5% below the WARNSOC level

Page 46: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

46 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Parameters

• HWSCFG (continued)

– TCP/IP control card (continued)

• IMS Connect will automatically reconnect to TCP/IP when the stack

becomes available after a failure (IMS 11)

• There is a new loop and timer logic for each active Port

– Invoked if Port is terminated due to a failure

– Internally issues an OPENPORT command

– Loops back to timer delay if network is still not available

– Issues message HWSS0780I for each Port that is successfully reactivated

Page 47: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

47 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Parameters

• HWSCFG (continued)

– RUNOPTS control card

� RUNOPTS=

→ 1-255 character string that specifies the Language Environment (LE) runtime options in support of SSL

• IMS Connect passes a fixed length string of runtime options to the Language Environment preinitialization program interface (CEEPIPI)

→ The default is

→ After PK95334 (IMS 10) and PK95337 (IMS 11) the default is

POSIX(ON),ALL31(ON),ANYHEAP(1M,1M,ANY,KEEP), BELOWHEAP(256K,256K,FREE),HEAP(1M,1M,ANY,FREE),LIBSTACK(1K,1K,FREE),STACK(64K,32K,ANY,FREE), ENVAR("_CEE_ENVFILE=/SYSTEM/etc/profile"), TRAP(ON,NOSPIE),TERMTHDACT(UAIMM)

POSIX(ON),ALL31(ON),ANYHEAP(1M,1M,ANY,KEEP), BELOWHEAP(256K,512K,FREE),HEAP(1M,1M,ANY,FREE), LIBSTACK(9K,9K,FREE),STACK(256K,128K,ANY,FREE), ENVAR("_CEE_ENVFILE=/SYSTEM/etc/profile"), TRAP(ON,NOSPIE),TERMTHDACT(UAIMM)

Page 48: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

48 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Parameters

• HWSCFG (continued)

– DATASTORE control card (continued)

� ACKTO= Supports the IMS 10 CM1 Timeout enhancement

→Specifies the default time in seconds (0-255) for OTMA to wait for an

ACK/NAK or syncpoint completion for a CM1 transaction from this

datastore (TMEMBER) before abending the IMS transaction

Page 49: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

49 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

IMS Connect Performance

• PK57574 is an important IMS Connect performance APAR

– It uses a hash technique to search the list of IMS Connect

Clients on a Port

– This was a sequential search and there can be 1,000’s of

Clients on a Port

Page 50: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

50 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

XCF

• There are instances when local XCF signalling buffers become exhausted, which results in the IMS Connect signals getting rejected. An XCF message is required in IMS Connect to let us know when there are XCF buffer shortages. IMS Connect has a problem at shutdown time with the reuse and freeing up of the CVBB and a C01K block of storage.

• Answer

• APAR PQ71420 addresses these two problems.

• An XCF buffer shortage message will be issued only if IMS Connect loops trying to send the same message.

• In general, when XCF signalling buffers become exhausted. it is possible to alleviate the condition by increasing signalling buffer space. This is accomplished by raising MAXMSG for the buffers in question, which in the IMS Connect case is local message buffers. This is why XCF made the recommendation to double the MAXMSG to 1500 or, if possible, to quadruple it to 3000.

• Tuning XCF signalling buffers is an important part of operating a Sysplex. The "Setting Up a Sysplex" manual discusses XCF signalling buffers and how to tune them. Because part of the process is to know the user's requirements and goals, this function is best handled by your local IBM support team.

• The messages diminished and after upgrading to IMS Connect 1.2 on all systems, the user no longer receives the GDH1000 and GDH2000 messages that were set up for IMS Connect 1.1.

Page 51: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

51 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

CM0 ACK Timeout - Benefits

• Benefits

– Ability to keep CM0 messages flowing even when a problem with one message occurs

– Greater control of an alternate TPIPE name destination for problem messages

Page 52: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

52 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

Performance Enhancement

• New hashing mechanism for client ids

– Each port has its own hash table

– PK57574/UK42318 (IMS 10)

• Benefit

– Reduces CPU overhead

– Increases throughput

– Note: improvement varies based on environment

Page 53: IMS Connect Performance and Tuning - IMS UG August 2012 Sao Paulo

53 © 2012 IBM Corporation

2012 IMS Technical Conference , Australia

Additional IMS Connect Enhancements

Solution– Ability to refresh XML converters without restarting IMS Connect– Provide RACF Userid caching – reduces MIPS– Return actual RACF return codes – more info for security errors– Recorder Trace data capture – new trace points– Commit Mode 0 (CM0) ACK NoWait for RYO clients– Partial read status – new client connection status indicating read/wait– Load modules for IMS-provided exits – no need to assemble/bind

Value– Enable customers to use IMS Connect more easily while providing better

performance and diagnostics

53