ims performance tuning

160
© 2005 IBM Corporation IMS Performance Tuning Update New York City IMS User Group Steve Nathan Senior Software Engineer IBM Corporation [email protected]

Upload: ibm-ims

Post on 05-Sep-2014

3.474 views

Category:

Technology


13 download

DESCRIPTION

 

TRANSCRIPT

  • IMS Performance Tuning Update New York City IMS User Group Steve Nathan Senior Software Engineer IBM Corporation [email protected] 2005 IBM Corporation
  • IBM Software Group New York City IMS Users Group Important Disclaimer 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 IBMS 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, OR SHALL HAVE THE EFFECT OF: CREATING ANY WARRANTY OR REPRESENTATION FROM IBM (OR ITS AFFILIATES OR ITS OR THEIR SUPPLIERS AND/OR LICENSORS); OR ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT GOVERNING THE USE OF IBM SOFTWARE. IMS Performance Tuning Update 2
  • IBM Software Group New York City IMS Users Group Agenda Whats New in IMS Performance Tuning? IMS Connect Clients TCP/IP IMS Connect IMS Connect Extensions XCF OTMA Enhanced Performance Tools IMSPA and IMSPI IMS Performance Tuning Update 3
  • IBM Software Group New York City IMS Users Group Whats New in IMS Performance Tuning? Question: Whats New in IMS Performance Tuning? Answer: Its a TCP/IP world out there and you have to tune IMS and its TCP/IP Interface Tuning IMS in a TCP/IP world is your next big challenge This presentation will show you the steps and tools involved IMS Performance Tuning Update 4
  • IBM Software Group New York City IMS Users Group Whats New in IMS Performance Tuning? SERVER z/OS,WIN, AIX, SUN, z/OS z/OS IMS Control Center Any Websphere TCP/IP ITRA SCI Websphere App IMS TM MWS Websphere Resource OM Adapter PC ITRA MFS Web XCF IMS Services PC ICON XCF IMS SOAP TCP/IP ICON Gateway RYO TCP/IP Client OTMA XCF TCP/IP Application IMS BRIDGE IMS BRIDGE MQSeries SNA TN3270 MQSeries MQSeries BTAM
  • IBM Software Group New York City IMS Users Group IMS Connect Clients IMS Performance Tuning Update 6
  • IBM Software Group New York City IMS Users Group IMS Connect Clients There are several things that can be tuned in the IMS Connect Client Socket type Using one Write per message TCP/IP Parameters Application Tracing IMS Performance Tuning Update 7
  • IBM Software Group New York City IMS Users Group IMS Connect Clients There is a basic flow of TCP/IP verbs used by the ICON Client 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 an ACK/NAK or Resume TPIPE) Read Retrieve data (could be an ACK/NAK or Deallocate) Close - Disconnect IMS Performance Tuning Update 8
  • IBM Software Group New York City IMS Users Group IMS Connect Clients There are three types of connections that determine how these verbs are used Non-Persistent socket Close (Disconnect) after each send to the ICON Client 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 Close (Disconnect) after each transaction or complete conversation This is the default This has Connect/Disconnect overhead in the ICON Client and ICON and TCP/IP for each message Persistent socket Connect once then multiple write/read iterations for multiple transactions before Close (Disconnect) Only the FIRST Client ID is used for all messages This is much more efficient This will keep the socket open make sure you have defined enough sockets IMS Performance Tuning Update 9
  • IBM Software Group New York City IMS Users Group IMS Connect Clients Use one send for the entire message Some customer ICON Clients used two (or more) 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 (x00040000) This is bad for performance If you do not specify NODELAYACK on the Port statement in z/OS then TCP/IP on z/OS will wait for up to 300ms before ACKing each transmission If you are using multiple Writes be sure to set the NODELAYACK option Better yet just use one Write IMS Performance Tuning Update 10
  • IBM Software Group New York City IMS Users Group IMS Connect Clients IMS Connect Client Side TCP/IP Parameters 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 ICON gets very upset by this 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 of the other options should be reviewed to make sure they are optimized for the customer environment IMS Performance Tuning Update 11
  • IBM Software Group New York City IMS Users Group IMS Connect Clients Application Tracing and Debugging The BEST tracing and debugging is that which you do yourself There is much that can be done In application code In exits The end user should be able to turn on debugging at a message or system level The debugging indicator should be able to be passed from one system to the next and back again All debugging displays should also have a timestamp in the form hh:mm:ss.nnnnnn This level of precision is needed to merge records from various systems Unfortunately those systems not in the z/OS SYSPLEX will have a different timer IMS Performance Tuning Update 12
  • IBM Software Group New York City IMS Users Group IMS Connect Clients IMS Connect Client The IMS Connect Client should be able to get a debugging request from the end user or .INI file or some other method The IMS Connect Client should issue debugging messages for the work that it does Messages sent Message received The IMS Connect Client should pass the debug flag to IMS Connect In the IRM or user prefix In the OTMA User Data if the OTMA prefix is pre-built This is difficult today with the IMS TM Resource Adapter IMS Performance Tuning Update 13
  • IBM Software Group New York City IMS Users Group TCP/IP IMS Performance Tuning Update 14
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Traces For difficult problems IMS Level 2 may request TCP/IP traces You can use them for your own debugging too Get to know and be on friendly terms with your TCP/IP systems programmer Chocolate helps Set the trace on for only the IMS Connect ports APAR II12014 gives detailed instructions IMS Performance Tuning Update 15
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Traces The output can be formatted with IPCS // EXEC PGM=IKJEFT01,DYNAMNBR=100,REGION=3500K //IPCSDDIR DD DSN=USER1.IPCS.DUMPDIR,DISP=SHR //SYSPROC DD DSN=SYS1.SBLSCLI0,DISP=SHR //SYSTSPRT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSTSIN DD * PROFILE MSGID IPCS NOPARM SETDEF DSN(USER1.PACKET.TRACE') LIST NOCONFIRM CTRACE COMP(SYSTCPDA) LOCAL FULL END /* IMS Performance Tuning Update 16
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP flows There are 3 basic flows that you need Connect Write Disconnect A complete list of flows and TCP/IP states is found in APAR II12449 IMS Performance Tuning Update 17
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows Connect from IMS Connect Client TCP/IP will send SYN TCP/IP on the host will respond ACK SYN Client TCP/IP will respond ACK At this point there is a session established but there is no Clientid The Clientid is DELDUMMY IMS Performance Tuning Update 18
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flow Connect SYN from IMS Connect Client TCP/IP 4930628 TSO1 PACKET 00000004 13:42:15.196771 Packet Trace From Interface : GIG1 Device: QDIO Ethernet Full=60 Tod Clock : 2008/03/20 13:42:15.196769 Intfx: 4 Sequence # : 0 Flags: Pkt IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 60 ID Number: 9BF5 Fragment : DontFragment Offset: 0 TTL : 59 Protocol: TCP CheckSum: C3C8 FFFF Source : 111.111.111.111 Destination : 222.222.222.222 TCP Source Port : 11111 () Destination Port: 22222 () Sequence Number : 1421204386 Ack Number: 0 Header Length : 40 Flags: Syn Window Size : 5840 CheckSum: B57D FFFF Urgent Data Pointer: 0000 Option : Max Seg Size Len: 4 MSS: 1460 Option : SACK Permitted Option : Timestamp Len: 10 Value: 25754057 Echo: 00000000 Option : NOP Option : Window Scale OPT Len: 3 Shift: 0 IP Header : 20 000000 4500003C 9BF54000 3B06C3C8 C751521E C68C0002 Protocol Header : 40 000000 888E7D08 54B5DBA2 00000000 A00216D0 B57D0000 020405B4 0402080A 25754057 000020 00000000 01030300 IMS Performance Tuning Update 19
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows Connect - ACK SYN from IMS Connect TCP/IP 4930629 TSO1 PACKET 00000004 13:42:15.205221 Packet Trace To Interface : GIG2 Device: QDIO Ethernet Full=60 Tod Clock : 2008/03/20 13:42:15.205221 Intfx: 6 Sequence # : 0 Flags: Pkt Out IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 60 ID Number: A668 Fragment : Offset: 0 TTL : 64 Protocol: TCP CheckSum: 0000 0BAA Source : 222.222.222.222 Destination : 111.111.111.111 TCP Source Port : 22222 () Destination Port: 11111 () Sequence Number : 539507775 Ack Number: 1421204387 Header Length : 40 Flags: Ack Syn Window Size : 65535 CheckSum: E02C B7B4 Urgent Data Pointer: 0000 Option : Max Seg Size Len: 4 MSS: 1452 Option : NOP Option : Window Scale OPT Len: 3 Shift: 1 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 7CC0CDA4 Echo: 25754057 IP Header : 20 000000 4500003C A6680000 40060000 C68C0002 C751521E Protocol Header : 40 000000 7D08888E 20283C3F 54B5DBA3 A012FFFF E02C0000 020405AC 01030301 0101080A 000020 7CC0CDA4 25754057 IMS Performance Tuning Update 20
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows Connect ACK from IMS Connect Client TCP/IP 4930630 TSO1 PACKET 00000004 13:42:15.206427 Packet Trace From Interface : GIG1 Device: QDIO Ethernet Full=52 Tod Clock : 2008/03/20 13:42:15.206427 Intfx: 4 Sequence # : 0 Flags: Pkt IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 52 ID Number: 9BF6 Fragment : DontFragment Offset: 0 TTL : 59 Protocol: TCP CheckSum: C3CF FFFF Source : 111.111.111.111 Destination : 222.222.222.222 TCP Source Port : 11111 () Destination Port: 22222 () Sequence Number : 1421204387 Ack Number: 539507776 Header Length : 32 Flags: Ack Window Size : 5840 CheckSum: 3D64 FFFF Urgent Data Pointer: 0000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 25754058 Echo: 7CC0CDA4 IP Header : 20 000000 45000034 9BF64000 3B06C3CF C751521E C68C0002 Protocol Header : 32 000000 888E7D08 54B5DBA3 20283C40 801016D0 3D640000 0101080A 25754058 7CC0CDA4 IMS Performance Tuning Update 21
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows VIEWHWS The DELDUMMY is the IMS Connect Client that just connected The Status is RECV IMS Connect is waiting for the first message from the IMS Connect Client for this connection IMS Connect has been waiting for the first message for 19 seconds If the first message is not received by the Timeout value (180 seconds) the connection will be disconnected by IMS Connect IMS Connect will not timeout a RECV session for an established Client 14.06.29 STC02699 R 22,VIEWHWS 14.06.29 STC02699 *28 HWSC0000I *IMS CONNECT READY* ICONA 14.06.29 STC02699 HWSC0001I HWS ID=ICONA Racf=N 14.06.29 STC02699 HWSC0001I Maxsoc=2000 Timeout=18000 14.06.29 STC02699 HWSC0001I Datastore=DS1 Status=ACTIVE 14.06.29 STC02699 HWSC0001I Group=GR1 Member=MB1 14.06.29 STC02699 HWSC0001I Target Member=IMSAOTMA 14.06.29 STC02699 HWSC0001I RACF APPL NAME= 14.06.29 STC02699 HWSC0001I NO ACTIVE IMSPLEX 14.06.29 STC02699 HWSC0001I Port=22222 Status=ACTIVE 14.06.29 Clientid Userid Trancode Status Second ClntPort IP-Address DELDUMMY RECV 19 0 111.111.111.111 CLIENT01 RECV 221 0 111.111.111.112 CLIENT02 CONN 12167 0 111.111.111.113 Total Clients=3 RECV=2 CONN=3 XMIT=0 OTHER=0 IMS Performance Tuning Update 22
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows Now the IMS Connect Client sends in the message LLLL Prefix Message Suffix This should all be sent with one WRITE The IMS Connect Client TCP/IP sends ACK PSH Push (PSH) forces data delivery without waiting for buffers to fill This is used for interactive traffic The data will also be delivered to the application on the receiving end with out buffering. IMS Connect TCP/IP replies ACK This could have been ACK PSH IMS Performance Tuning Update 23
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows IMS Connect Client sends in message The LLLL is for the whole message LLLL llzzIRM llzzTrancode data Suffix (x00040000) It was sent with one WRITE The x3B at offset x15 is the timeout value = 20 seconds IMS Connect will for for 20 seconds for an answer from IMS The x00 at offset x16 says this is a Transaction Socket The IMS Connect will disconnect after each transaction The x4001 at offset x21 says this is a CM0 SL1 message IMS Performance Tuning Update 24
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging 4930631 TSO1 PACKET 00000004 13:42:15.331775 Packet Trace From Interface : GIG1 Device: QDIO Ethernet Full=167 Tod Clock : 2008/03/20 13:42:15.331767 Intfx: 4 Sequence # : 0 Flags: Pkt Adj IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 167 ID Number: 9BF7 Fragment : DontFragment Offset: 0 TTL : 59 Protocol: TCP CheckSum: C35B FFFF Source : 111.111.111.111 Destination : 222.222.222.222 TCP Source Port : 11111 () Destination Port: 22222 () Sequence Number : 1421204387 Ack Number: 539507776 Header Length : 32 Flags: Ack Psh Window Size : 5840 CheckSum: 1C9E FFFF Urgent Data Pointer: 0000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 25754065 Echo: 7CC0CDA4 IP Header : 20 000000 450000A7 9BF74000 3B06C35B C751521E C68C0002 Protocol Header : 32 000000 888E7D08 54B5DBA3 20283C40 801816D0 1C9E0000 0101080A 25754065 7CC0CDA4 Data : 115 Data Length: 115 000000 00000073 00540000 5CE2C1D4 D7D3F15C |........*SAMPL1* ...s.T........| 000010 00000000 403B0000 C3D3C9C5 D5E3F4F4 |.... ...CLIENT44 ....@;..@@@@@@@@| 000020 00400140 E3D9C1D5 F0F14040 C9D4E2C1 |... TRAN01 IMSA . .@......@@....| 000030 40404040 D3E2C5D9 D4F0F0F1 00000001 | LTERM001.... @@@@@@@@@@@@....| 000040 40404040 40404040 40404040 40404040 | @@@@@@@@@@@@@@@@| 000050 40404040 40404040 00170000 E3D9C1D5 | ....TRAN @@@@@@@@....@@@@| 000060 F0F140C4 C1E3C140 F1F2F3F4 F5F6F700 |01 DATA 1234567. ................| 000070 040000 |... ... | IMS Performance Tuning Update 25
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows TCP/IP ACKs the input message 4930632 TSO1 PACKET 00000004 13:42:15.331867 Packet Trace To Interface : GIG2 Device: QDIO Ethernet Full=52 Tod Clock : 2008/03/20 13:42:15.331867 Intfx: 6 Sequence # : 0 Flags: Pkt Out IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 52 ID Number: A66D Fragment : Offset: 0 TTL : 64 Protocol: TCP CheckSum: 0000 0BA7 Source : 222.222.222.222 Destination : 111.111.111.111 TCP Source Port : 22222 () Destination Port: 11111 () Sequence Number : 539507776 Ack Number: 1421204502 Header Length : 32 Flags: Ack Window Size : 65477 CheckSum: E024 8CB2 Urgent Data Pointer: 000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 7CC0CE20 Echo: 25754065 IP Header : 20 000000 45000034 A66D0000 40060000 C68C0002 C751521E Protocol Header : 32 000000 7D08888E 20283C40 54B5DC16 8010FFC5 E0240000 0101080A 7CC0CE20 25754065 IMS Performance Tuning Update 26
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows VIEWHWS The Clientid is CLIENT44 This will also be the TPIPE name in OTMA The Status is CONN IMS Connect is waiting for the reply from IMS 14.06.29 STC02699 R 22,VIEWHWS 14.06.29 STC02699 *28 HWSC0000I *IMS CONNECT READY* ICONA 14.06.29 STC02699 HWSC0001I HWS ID=ICONA Racf=N 14.06.29 STC02699 HWSC0001I Maxsoc=2000 Timeout=18000 14.06.29 STC02699 HWSC0001I Datastore=DS1 Status=ACTIVE 14.06.29 STC02699 HWSC0001I Group=GR1 Member=MB1 14.06.29 STC02699 HWSC0001I Target Member=IMSAOTMA 14.06.29 STC02699 HWSC0001I RACF APPL NAME= 14.06.29 STC02699 HWSC0001I NO ACTIVE IMSPLEX 14.06.29 STC02699 HWSC0001I Port=22222 Status=ACTIVE 14.06.29 Clientid Userid Trancode Status Second ClntPort IP-Address CLIENT44 CONN 3 0 111.111.111.111 CLIENT01 RECV 225 0 111.111.111.112 CLIENT02 CONN 12171 0 111.111.111.113 Total Clients=3 RECV=1 CONN=2 XMIT=0 OTHER=0 IMS Performance Tuning Update 27
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows IMS Connect returns the reply to the IMS Connect Client If an OTMA ACK is required it will be indicated in the CSM if the IMS Connect sample exit it being used The Z1 field in the LLZZ will have the x20 bit on If a custom user exit is being used it will have to indicate that an ACK is required The TCP/IP flags are ACK PSH IMS Performance Tuning Update 28
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging 4930633 TSO1 PACKET 00000004 13:42:15.685386 Packet Trace To Interface : GIG2 Device: QDIO Ethernet Full=149 Tod Clock : 2008/03/20 13:42:15.685384 Intfx: 6 Sequence # : 0 Flags: Pkt Adj Out IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 149 ID Number: A672 Fragment : Offset: 0 TTL : 64 Protocol: TCP CheckSum: 0000 0C0D Source : 222.222.222.222 Destination : 111.111.111.111 TCP Source Port : 22222 () Destination Port: 11111 () Sequence Number : 539507776 Ack Number: 1421204502 Header Length : 32 Flags: Ack Psh Window Size : 65477 CheckSum: E085 34D7 Urgent Data Pointer: 0000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 7CC0CF79 Echo: 25754065 IP Header : 20 000000 45000095 A6720000 40060000 C68C0002 C751521E Protocol Header : 32 000000 7D08888E 20283C40 54B5DC16 8018FFC5 E0850000 0101080A 7CC0CF79 25754065 Data : 97 Data Length: 97 000000 00490300 E3D9C1D5 F0F14040 40F0F0F0 |....TRAN01 000 .I........@@@...| 000010 F0F0F0F0 F0F5F0F1 F2F3F4F5 F6F7F8F9 |0000050123456789 ................| 000020 F0F1F2F3 F4F5F6F7 F8F9F0F1 F2F3F4F5 |0123456789012345 ................| 000030 F6F7F8F9 F0F1F2F3 F4F5F6F7 F8F9F0F1 |6789012345678901 ................| 000040 F2F3F4F5 F6F7F8F9 F0001820 005CC3E2 |234567890....*CS ...............| 000050 D4D6D2E8 5C000000 01000000 00000000 |MOKY*........... ...............| 000060 00 |. . | IMS Performance Tuning Update 29
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows The IMS Connect Client TCP/IP ACKs the reply message This is not the OTMA ACK That will require a separate WRITE by the IMS Connect Client 4930634 TSO1 PACKET 00000004 13:42:15.686630 Packet Trace From Interface : GIG1 Device: QDIO Ethernet Full=52 Tod Clock : 2008/03/20 13:42:15.686629 Intfx: 4 Sequence # : 0 Flags: Pkt IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 52 ID Number: 9BF8 Fragment : DontFragment Offset: 0 TTL : 59 Protocol: TCP CheckSum: C3CD FFFF Source : 111.111.111.111 Destination : 222.222.222.222 TCP Source Port : 11111 () Destination Port: 22222 () Sequence Number : 1421204502 Ack Number: 539507873 Header Length : 32 Flags: Ack Window Size : 5840 CheckSum: 3A8B FFFF Urgent Data Pointer: 0000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 25754088 Echo: 7CC0CF79 IP Header : 20 000000 45000034 9BF84000 3B06C3CD C751521E C68C0002 Protocol Header : 32 000000 888E7D08 54B5DC16 20283CA1 801016D0 3A8B0000 0101080A 25754088 7CC0CF79 All packets check summed correctly No packets required reassembly IMS Performance Tuning Update 30
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows VIEWHWS The Status for CLIENT44 is RECV IMS Connect is waiting for input from the IMS Connect Client There is no indication that IMS Connect is waiting for ACK/NAK There is an indication on the TPIPE in OTMA (WAIT_A) If the IMS Connect Client tries to send in anything other than ACK/NAK it will be rejected as a protocol error message HWSP1495E 14.06.29 STC02699 R 22,VIEWHWS 14.06.29 STC02699 *28 HWSC0000I *IMS CONNECT READY* ICONA 14.06.29 STC02699 HWSC0001I HWS ID=ICONA Racf=N 14.06.29 STC02699 HWSC0001I Maxsoc=2000 Timeout=18000 14.06.29 STC02699 HWSC0001I Datastore=DS1 Status=ACTIVE 14.06.29 STC02699 HWSC0001I Group=GR1 Member=MB1 14.06.29 STC02699 HWSC0001I Target Member=IMSAOTMA 14.06.29 STC02699 HWSC0001I RACF APPL NAME= 14.06.29 STC02699 HWSC0001I NO ACTIVE IMSPLEX 14.06.29 STC02699 HWSC0001I Port=22222 Status=ACTIVE 14.06.29 Clientid Userid Trancode Status Second ClntPort IP-Address CLIENT44 RECV 2 0 111.111.111.111 CLIENT01 RECV 228 0 111.111.111.112 CLIENT02 CONN 12174 0 111.111.111.113 Total Clients=3 RECV=2 CONN=1 XMIT=0 OTHER=0 IMS Performance Tuning Update 31
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows IMS Connect Client sends in the ACK The LLLL is for the whole message LLLL llzzIRM Suffix (x00040000) There is no data in the message just the prefix indicating this is an ACK (or NAK) The timeout value was set to x03 seconds in case there is an error message from the ACK The IMS Connect Client should then do a READ It will receive a timeout message after 0.03 seconds If there was another IOPCB message from the same instance of the transaction it would have been delivered The flags are ACK PSH IMS Performance Tuning Update 32
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging 4930635 TSO1 PACKET 00000004 13:42:15.331775 Packet Trace From Interface : GIG1 Device: QDIO Ethernet Full=167 Tod Clock : 2008/03/20 13:42:15.687001 Intfx: 4 Sequence # : 0 Flags: Pkt Adj IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 167 ID Number: 9BF7 Fragment : DontFragment Offset: 0 TTL : 59 Protocol: TCP CheckSum: C35B FFFF Source : 111.111.111.111 Destination : 222.222.222.222 TCP Source Port : 11111 () Destination Port: 22222 () Sequence Number : 1421204387 Ack Number: 539507776 Header Length : 32 Flags: Ack Psh Window Size : 5840 CheckSum: 1C9E FFFF Urgent Data Pointer: 0000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 25754065 Echo: 7CC0CDA4 IP Header : 20 000000 450000A7 9BF74000 3B06C35B C751521E C68C0002 Protocol Header : 32 000000 888E7D08 54B5DBA3 20283C40 801816D0 1C9E0000 0101080A 25754065 7CC0CDA4 Data : 92 Data Length: 92 000000 0000005C 00540000 5CE2C1D4 D7D3F15C |........*SAMPL1* ...s.T........| 000010 00000000 40030000 C3D3C9C5 D5E3F4F4 |.... ...CLIENT44 ....@;..@@@@@@@@| 000020 004001C1 E3D9C1D5 F0F14040 C9D4E2C1 |...ATRAN01 IMSA . .@......@@....| 000030 40404040 D3E2C5D9 D4F0F0F1 00000001 | LTERM001.... @@@@@@@@@@@@....| 000040 40404040 40404040 40404040 40404040 | @@@@@@@@@@@@@@@@| 000050 40404040 40404040 00040000 | .... | IMS Performance Tuning Update 33
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows TCP/IP ACKs the OTMA ACK message 4930636 TSO1 PACKET 00000004 13:42:15.331867 Packet Trace To Interface : GIG2 Device: QDIO Ethernet Full=52 Tod Clock : 2008/03/20 13:42:15.687012 Intfx: 6 Sequence # : 0 Flags: Pkt Out IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 52 ID Number: A66D Fragment : Offset: 0 TTL : 64 Protocol: TCP CheckSum: 0000 0BA7 Source : 222.222.222.222 Destination : 111.111.111.111 TCP Source Port : 22222 () Destination Port: 11111 () Sequence Number : 539507776 Ack Number: 1421204502 Header Length : 32 Flags: Ack Window Size : 65477 CheckSum: E024 8CB2 Urgent Data Pointer: 000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 7CC0CE20 Echo: 25754065 IP Header : 20 000000 45000034 A66D0000 40060000 C68C0002 C751521E Protocol Header : 32 000000 7D08888E 20283C40 54B5DC16 8010FFC5 E0240000 0101080A 7CC0CE20 25754065 IMS Performance Tuning Update 34
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows IMS Connect will now send the timeout for the ACK If the IMS Connect Sample Exit is being used this is an RSM Request Status Message The eyecatcher is *REQSTS* If a custom user exit is being used it will have to indicate the timeout The flags are ACK PSH IMS Performance Tuning Update 35
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows IMS Connect timeout message 4930637 TSO1 PACKET 00000004 13:42:15.331867 Packet Trace To Interface : GIG2 Device: QDIO Ethernet Full=52 Tod Clock : 2008/03/20 13:42:15.717012 Intfx: 6 Sequence # : 0 Flags: Pkt Out IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 52 ID Number: A66D Fragment : Offset: 0 TTL : 64 Protocol: TCP CheckSum: 0000 0BA7 Source : 222.222.222.222 Destination : 111.111.111.111 TCP Source Port : 22222 () Destination Port: 11111 () Sequence Number : 539507776 Ack Number: 1421204502 Header Length : 32 Flags: Ack Psh Window Size : 65477 CheckSum: E024 8CB2 Urgent Data Pointer: 000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 7CC0CE20 Echo: 25754065 IP Header : 20 000000 45000034 A66D0000 40060000 C68C0002 C751521E Protocol Header : 32 000000 7D08888E 20283C40 54B5DC16 8010FFC5 E0240000 0101080A 7CC0CE20 25754065 Data : 20 Data Length: 20 000000 00140000 2A524551 5354532A 00000020 |................ ....*REQSTS*...(| 000010 00000003 |.... ...d | IMS Performance Tuning Update 36
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows The IMS Connect Client should now disconnect This was a Transaction Socket This results in 4 interactions between the IMS Connect Client TCP/IP and the IMS Connect TCP/IP ACK PSH FIN ACK PSH ACK PSH FIN ACK PSH IMS Performance Tuning Update 37
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flow Disconnect ACK PSH FIN from IMS Connect Client TCP/IP 4930638 TSO1 PACKET 00000004 13:42:15.866075 Packet Trace From Interface : GIG1 Device: QDIO Ethernet Full=52 Tod Clock : 2008/03/20 13:42:15.866074 Intfx: 2 Sequence # : 0 Flags: Pkt IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 52 ID Number: D151 Fragment : DontFragment Offset: 0 TTL : 64 Protocol: TCP CheckSum: 71C8 FFFF Source : 111.111.111.111 Destination : 222.222.222.222 TCP Source Port : 1111 () Destination Port: 2222 () Sequence Number : 1067130745 Ack Number: 1067221926 Header Length : 32 Flags: Ack Psh Fin Window Size : 65349 CheckSum: CC00 FFFF Urgent Data Pointer: 0000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 3520086E Echo: 35200858 IP Header : 20 000000 45000034 D1514000 400671C8 94AB6A51 94AB6402 Protocol Header : 32 000000 0A870BDF 3F9B1F79 3F9C83A6 8019FF45 CC000000 0101080A 3520086E 35200858 IMS Performance Tuning Update 38
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flow Disconnect ACK PSH from IMS Connect TCP/IP 4930639 TSO1 PACKET 00000004 13:42:15.866112 Packet Trace From Interface : GIG2 Device: QDIO Ethernet Full=52 Tod Clock : 2008/03/20 13:42:15.866112 Intfx: 2 Sequence # : 0 Flags: Pkt IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 52 ID Number: D152 Fragment : DontFragment Offset: 0 TTL : 64 Protocol: TCP CheckSum: 71C7 FFFF Source : 222.222.222.222 Destination : 111.111.111.111 TCP Source Port : 2222 () Destination Port: 1111 () Sequence Number : 1067221926 Ack Number: 1067130746 Header Length : 32 Flags: Ack Psh Window Size : 65286 CheckSum: CC29 FFFF Urgent Data Pointer: 0000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 3520086E Echo: 3520086E IP Header : 20 000000 45000034 D1524000 400671C7 94AB6402 94AB6A51 Protocol Header : 32 000000 0BDF0A87 3F9C83A6 3F9B1F7A 8018FF06 CC290000 0101080A 3520086E 3520086E IMS Performance Tuning Update 39
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flow Disconnect ACK PSH FIN from IMS Connect Client TCP/IP 4930640 TSO1 PACKET 00000004 13:42:15.866314 Packet Trace From Interface : GIG1 Device: QDIO Ethernet Full=52 Tod Clock : 2008/03/20 13:42:15.866314 Intfx: 2 Sequence # : 0 Flags: Pkt IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 52 ID Number: D153 Fragment : DontFragment Offset: 0 TTL : 64 Protocol: TCP CheckSum: 71C6 FFFF Source : 111.111.111.111 Destination : 222.222.222.222 TCP Source Port : 1111 () Destination Port: 2222 () Sequence Number : 1067221926 Ack Number: 1067130746 Header Length : 32 Flags: Ack Psh Fin Window Size : 65286 CheckSum: CC28 FFFF Urgent Data Pointer: 0000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 3520086E Echo: 3520086E IP Header : 20 000000 45000034 D1534000 400671C6 94AB6402 94AB6A51 Protocol Header : 32 000000 0BDF0A87 3F9C83A6 3F9B1F7A 8019FF06 CC280000 0101080A 3520086E 3520086E IMS Performance Tuning Update 40
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flow Disconnect ACK PSH from IMS Connect TCP/IP 4930641 TSO1 PACKET 00000004 13:42:15.866399 Packet Trace From Interface : LOOPBACK Device: Loopback Full=52 Tod Clock : 2008/03/20 13:42:15.866398 Intfx: 2 Sequence # : 0 Flags: Pkt IpHeader: Version : 4 Header Length: 20 Tos : 00 QOS: Routine Normal Service Packet Length : 52 ID Number: D154 Fragment : DontFragment Offset: 0 TTL : 64 Protocol: TCP CheckSum: 71C5 FFFF Source : 222.222.222.222 Destination : 111.111.111.111 TCP Source Port : 2222 () Destination Port: 1111 () Sequence Number : 1067130746 Ack Number: 1067221927 Header Length : 32 Flags: Ack Psh Window Size : 65349 CheckSum: CBE9 FFFF Urgent Data Pointer: 0000 Option : NOP Option : NOP Option : Timestamp Len: 10 Value: 3520086E Echo: 3520086E IP Header : 20 000000 45000034 D1544000 400671C5 94AB6A51 94AB6402 Protocol Header : 32 000000 0A870BDF 3F9B1F7A 3F9C83A7 8018FF45 CBE90000 0101080A 3520086E 3520086E IMS Performance Tuning Update 41
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flow So what can go wrong this this picture? Here is an example: IMS Connect Client does multiple WRITEs for one message One IMS Connect Client used 4 WRITEs > One for the LLLL > One for the prefix > One for the transaction > One for the suffix This caused 4 round trips through TCP/IP > This is easily seen in the TCP/IP trace > ACK PSH ACK for each WRITE > If you did not specify NODELAYACKS on the Port statement this will hurt even more This caused 4 trips through IMS Connect code to build the input message The IMS Connect Client should always use one WRITE per message IMS Performance Tuning Update 42
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flow So what can go wrong this this picture? Here is an example: TCP/IP does multiple interactions for one message The IMS Connect Client did use one WRITE TCP/IP was not tuned properly TCP/IP sent only a few bytes at a time > This resulted in many round trips through TCP/IP > This resulted in many iterations in IMS Connect code This is easily seen the TCP/IP trace You need to consult with TCP/IP support IMS Performance Tuning Update 43
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flow So what can go wrong this this picture? Here is an example: IMS Connect Client does a DISCONNECT after each message even though they are using a Persistent Socket And then a Connect for the next message This causes much unnecessary processing in IMS Connect, the IMS Connect Client and TCP/IP This is easily seen in the TCP/IP trace IMS Performance Tuning Update 44
  • IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flow For additional information on TCP/IP diagnosis see the following presentation by Deepak Kohli www.ibm.com/ims Presentations IMS Technical Conference Presentations: Fall 2005 Session B06 TCP/IP Traces and Displays for IMS Professionals IMS Performance Tuning Update 45
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Performance Tuning Update 46
  • IBM Software Group New York City IMS Users Group IMS Connect Normally messages should flow through IMS Connect VERY quickly < 1millisecond There is no logging There is no locking There are some things which can be tuned TCP/IP parameters Port TCBs Datastores RACF IMS Performance Tuning Update 47
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Side TCP/IP Parameters 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 the PROFILE.TCPIP All of the other options should be reviewed to make sure they are optimized for the customer environment IMS Performance Tuning Update 48
  • IBM Software Group New York City IMS Users Group IMS Connect BPECFG VERY STRONGLY RECOMMENDED internal trace parameters These will not hurt performance There will use a small amount of virtual storage These will be critical for IMS Level 2 to debug processing and performance problems TRCLEV=(*,HIGH,HWS,PAGES=300) TRCLEV=(*,HIGH,BPE,PAGES=300) IMS Performance Tuning Update 49
  • IBM Software Group New York City IMS Users Group IMS Connect HWSCFG HWS control card RACF= (Y/N) - Specifies whether or not ICON should do USERID/Password checking for each input message There can be a performance problem if RACF statistics are being kept for a USERID If RACF=Y using standard RACF tuning techniques IMS Connect does not cache RACF ACEEs > ICON calls RACF for each message from a new user on a socket > IMS Connect Extensions can do security checking and does cache ACEEs It is much better to set the value to N and do RACF checking yourself in the ICON User Message Exit Even if the value is Y the IMS Connect User Message Exit can set the Trusted User flag and tell IMS Connect not to issue the RACF call IMS Performance Tuning Update 50
  • IBM Software Group New York City IMS Users Group IMS Connect HWSCFG (continued) TCP/IP control card ECB= Performance enhancement if TCP/IP >= 3.7 (everyone is) The default is N Set it to Y IPV6= Use IPV6 if available (z/OS1.4) If you are on z/OS 1.4 or higher set this to Y even if you are not on IPV6 it will improve performance IMS Performance Tuning Update 51
  • IBM Software Group New York City IMS Users Group IMS Connect HWSCFG (continued) TCP/IP control card (continued) NODELAY= Specifies (Y) if IMS Connect should use the TCP_NODELAY option for the USS SETSOCKET interface call Introduced with APAR PK08183 (ICON 9.1) 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 The default is N IMS Performance Tuning Update 52
  • IBM Software Group New York City IMS Users Group IMS Connect HWSCFG (continued) TCP/IP control card (continued) PORTID= List of from 1 to 50 ports for ICON to listen on 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 > Listening on multiple ports will increase ICON multi-threading IMS Performance Tuning Update 53
  • IBM Software Group New York City IMS Users Group IMS Connect 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 V10 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 default keepalive 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 IMS Performance Tuning Update 54
  • IBM Software Group New York City IMS Users Group IMS Connect HWSCFG (continued) Datastore Control Cards Each Datastore is an OTMA TMEMBER Each OTMA TMEMBER is a separate TCB Specifying multiple datastores to the same IMS copy will increase OTMA multi-tasking The IMS Connect User Message Exit or IMS Connect Extensions can route the messages across the datastores with no impact to the IMS Connect Client IMS Performance Tuning Update 55
  • IBM Software Group New York City IMS Users Group IMS Connect XCF GROUP ICON1 GR1 IMSA OTMANM=IMSAOTMA DS1 MB1 DS2 MB2 MB4 MB5 DS3 XCF GROUP GR2 ICON2 IMSB OTMANM=IMSBOTMA DS1 MB3 DS2 DS3 MB6 IMS Performance Tuning Update 56
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Tracing and Debugging There are 4 IMS tools for tracing and debugging messages in IMS Connect TCP/IP Packet Trace The VIEWHWS command The IMS Connect internal trace This is not easy to format to get a complete picture This will wrap when it is full so timing is critical This is not documented This can only be used by Level 2 The IMS Connect Recorder Trace IMS Performance Tuning Update 57
  • IBM Software Group New York City IMS Users Group IMS Connect VIEWHWS Command The DELDUMMY is an IMS Connect Client that just connected The Status is RECV IMS Connect is waiting for the first message from the IMS Connect Client for this connection IMS Connect has been waiting for the first message for 19 seconds If the first message is not received by the Timeout value (180 seconds) the connection will be disconnected by IMS Connect IMS Connect will not timeout a RECV session for an established Client 14.06.29 STC02699 R 22,VIEWHWS 14.06.29 STC02699 *28 HWSC0000I *IMS CONNECT READY* ICONA 14.06.29 STC02699 HWSC0001I HWS ID=ICONA Racf=N 14.06.29 STC02699 HWSC0001I Maxsoc=2000 Timeout=18000 14.06.29 STC02699 HWSC0001I Datastore=DS1 Status=ACTIVE 14.06.29 STC02699 HWSC0001I Group=GR1 Member=MB1 14.06.29 STC02699 HWSC0001I Target Member=IMSAOTMA 14.06.29 STC02699 HWSC0001I RACF APPL NAME= 14.06.29 STC02699 HWSC0001I NO ACTIVE IMSPLEX 14.06.29 STC02699 HWSC0001I Port=22222 Status=ACTIVE 14.06.29 Clientid Userid Trancode Status Second ClntPort IP-Address DELDUMMY RECV 19 0 111.111.111.111 CLIENT01 RECV 221 0 111.111.111.112 CLIENT02 CONN 12167 0 111.111.111.113 Total Clients=3 RECV=2 CONN=3 XMIT=0 OTHER=0 IMS Performance Tuning Update 58
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Recorder Trace This is a sequential data set tracing messages into and out of IMS Connect It is started and stopped via IMS Connect Commands If it fills up it stops It does not wrap The data is most easily printed with IDCAMS //S1 EXEC PGM=IDCAMS,REGION=4096K //SYSPRINT DD SYSOUT=* //SYSIN DD * PRINT IDS(USER1.RECORDER.TRACE) /* IMS Performance Tuning Update 59
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Recorder Trace The first 96 bytes is the prefix 000000 00000000 C9C3D6D5 D9C30052 00000877 15413472 0108224F 00000000 00000000 *....ICONRC.............|........* 000020 C8E6E2E3 C5E2E3F1 C2D3F991 09C5646E C2D3F991 09E57CEE 00000000 00000000 *HWSTEST1BL9..E.>BL9..V@.........* 000040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5CC9D7C2 *............................*IPB* The eyecatcher is ICONxx where xx= RC message received from ICON Client SN message sent to ICON Client TO timeout sent to ICON Client ER error in processing AR input message from Client processed by XML adapter AE input message from Client rejected by XML adapter AX output message to Client processed by XML adapter IMS Performance Tuning Update 60
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Recorder Trace The first 96 bytes is the prefix 000000 00000000 C9C3D6D5 D9C30052 00000877 15413472 0108224F 00000000 00000000 *....ICONRC.............|........* 000020 C8E6E2E3 C5E2E3F1 C2D3F991 09C5646E C2D3F991 09E57CEE 00000000 00000000 *HWSTEST1BL9..E.>BL9..V@.........* 000040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5CC9D7C2 *............................*IPB* The time of the record is at offset x10 XHHMMSSTT local time The date of the record is at offset x14 xCCYYDDDF CC Century x01 = 21st century YY Year DDD Julian day F Packed sign The Clientid is at offset x20 IMS Performance Tuning Update 61
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Recorder Trace The first 96 bytes is the prefix 000000 00000000 C9C3D6D5 D9C30052 00000877 15413472 0108224F 00000000 00000000 *....ICONRC.............|........* 000020 C8E6E2E3 C5E2E3F1 C2D3F991 09C5646E C2D3F991 09E57CEE 00000000 00000000 *HWSTEST1BL9..E.>BL9..V@.........* 000040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5CC9D7C2 *............................*IPB* The *IPB at offset x003C indicates the Input Buffer follows 0002E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5CD6D7C2 *............................*OPB* The *OPB at offset x02FC indicates that the Output Buffer follows IMS Performance Tuning Update 62
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Recorder Trace This is the input buffer for a message from the IMS Connect Client 000060 000000B2 00500000 5CE2C1D4 D7D3E55C 00000000 00001000 C8E6E2E3 C5E2E3F1 *.....&..*SAMPLE*........HWSTEST1* 000080 00200040 E3D9C1D5 F0F0F0F1 C9C4E2C4 C5E2E3F1 40404040 40404040 E4E2C3D9 *... TRAN0001IMSDEST1 USER* 0000A0 F0F0F0F1 40404040 40404040 5C5C5C5C 5C5C5C5C 005A0000 E3D9C1D5 F0F0F0F1 *0001 ********.!..TRAN0001* 0000C0 40839389 A2A34040 40404040 40404040 40404040 40404040 40404040 40404040 * ..... * 0000E0 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * 000100 40404040 40404040 40404040 40400004 00000000 00000000 00000000 00000000 * ..................* 000120 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000140 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000160 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000180 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 0001A0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 0001C0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 0001E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* ... The format is LLLLLLZZirmLLZZtrancode datasuffix The ******** at offset x00AC is IMS Connect overlaying the input password This occurs even if the prefix is not an IRM If this was input from ITRA the OTMA prefix would have been pre-built IMS Performance Tuning Update 63
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Recorder Trace This is the output buffer to OTMA in the ITOCRC record 000300 01400000 00000000 00000000 0000A0F0 00000000 00000708 00000000 00010000 *. .............0................* 000320 00480020 00400000 00000000 00000000 00000000 00000000 00000000 00000000 *..... ..........................* 000340 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00004040 *.............................. * 000360 40404040 40400000 006AC614 0902E4E2 C5D9F0F0 F0F10903 40404040 40404040 * ....F...USER0001.. * 000380 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 0003A0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 0003C0 00000000 00000000 00000000 00000000 00000100 0000C9C4 E2C4C5E2 E3F10000 *......................IMSDEST1..* 0003E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000400 00000000 00005C5C 5C5C5C5C 5C5C1000 00000000 00004040 40404040 40400000 *......********........ ..* 000420 00000200 00000000 00000000 00004040 40404040 40400000 00000000 00000000 *.............. ..........* 000440 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000460 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000480 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 0004A0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 0004C0 00000000 00000000 00000000 00000000 0000005A 0000E3D9 C1D5F0F0 F0F140C4 *...................!..TRAN0001 D* 0004E0 C1E2C140 40404040 40404040 40404040 40404040 40404040 40404040 40404040 *ATA * 000500 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * 000520 40404040 40404040 40404040 00000000 00000000 00000000 00000000 00000000 * ....................* 000540 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000560 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000580 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5CC5D5C4 *............................*END* The format is OTMALLZZtrancode data The ICON OTMA User Data is mapped in macro HWSOMPFX Record is written before key fields are been valued by IMS Connect You will have to look in the ITOCSN record or OTMA TPIPE trace to see them IMS Performance Tuning Update 64
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Recorder Trace This is the input buffer from OTMA in the ITOCSN message 000060 01800000 0000F9F9 F9F94040 4040A0F0 00000001 00000000 00000000 00010000 *......9999 .0................* 000080 00481020 00404040 40404040 40400000 00000000 00000000 00000000 00000000 *..... ..................* 0000A0 00000000 0000C2D3 F99109E5 1DEE0000 00000000 00000000 00000000 00004040 *......BL9..V.................. * 0000C0 40404040 40400000 006AC614 0902E4E2 C5D9F0F0 F0F10903 40404040 40404040 * ....F...USER0001.. * 0000E0 51005001 80555555 55555555 55555555 55555555 55555555 55555555 55555555 *..&.............................* 000100 55555555 55555555 55555555 55555555 55555555 55555555 55555555 55555555 *................................* 000120 555594A4 A0A2ADA1 A7155555 55555555 55550100 0000C9D4 E2C4C5E2 E3F1C8E6 *......................IMSDEST1HW* 000140 E2E3C5E2 E3F1F9F0 F0F14040 4040C2D3 F99109C1 652E0000 00000000 00000000 *STEST19001 BL9..A............* 000160 00002754 CD480000 00000000 00001000 20000000 00004040 40404040 40400000 *...................... ..* 000180 00000200 00000000 00000000 00004040 40404040 40400000 00000000 00000000 *.............. ..........* 0001A0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 0001C0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 0001E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000200 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000220 00000000 00000000 00000000 00000000 00000054 0300C940 D3D6E5C5 40C9D4E2 *......................I LOVE IMS* 000240 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * 000260 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * 000280 40404040 40400000 00000000 00000000 00000000 00000000 00000000 00000000 * ..........................* 0002A0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 0002C0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* The format is OTMALLZZreply The IMS Connect OTMA User Data is now complete IMS Performance Tuning Update 65
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Recorder Trace This is the output buffer to the IMS Connect Client in the ITOCSN message 000300 00540300 C940D3D6 E5C540C9 D4E24040 40404040 40404040 40404040 40404040 *....I LOVE IMS * 000320 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * 000340 40404040 40404040 40404040 40404040 40404040 000C0000 5CC3E2D4 D6D2E85C * ....*CSMOKY** 000360 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 000380 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* ... 000580 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5CC5D5C4 *............................*END* The format is LLZZreplyCSMOKY This is what is sent from the IMS Connect sample user message exit HWSSMPL0 There is no LLLL The output could be anything the client understands It would be nice to pass back the input prefix for correlation IMS Performance Tuning Update 66
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Recorder Trace This is the prefix and input buffer from the ICON Client for a Resume TPIPE 00000 00000000 C9E3D6C3 D9C30052 00000877 14485764 0104212F 00000000 00000000 *....ITOCRC......................* 00020 C3D3C9C5 D5E3F0F1 BB980D5C B650B241 BB980D61 7CCA4E80 00000000 00000000 *CLIENT01...*.&...../@.+.........* 00040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5CC9D7C2 *............................*IPB* 00060 0000006C 00500000 5CE2C1D4 D7D3C55C 00000000 42FF0000 C3D3C9C5 D5E3F0F1 *...%.&..*SAMPLE*........CLIENT01* 00080 004001D9 40404040 40404040 C4E2F140 40404040 C3D3C9C5 D5E3F0F1 40404040 *. .R DS1 CLIENT01 * 000A0 40404040 40404040 40404040 40404040 40404040 00140000 40404040 40404040 * .... * This is the output buffer to OTMA for the Resume TPIPE 002E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5CD6D7C2 *............................*OPB* 00300 01100000 28000000 00000000 0000A0E0 00000000 00000000 00000000 00010000 *...............................* 00320 000C0240 C3D3C9C5 D5E3F0F1 006AC614 09024040 40404040 40400903 40404040 *... CLIENT01..F... .. * 00340 40404040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 * ............................* 00360 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 *................................* 00380 00000000 00000000 00000000 00000000 00000000 00000100 0000C4E2 F1404040 *..........................DS1 * The x01 at offset x0301 indicates a command The x28 at offset x0304 is the Resume TPIPE on HOLDQ command The TPIPE name is in the State data offset x0324 IMS Performance Tuning Update 67
  • IBM Software Group New York City IMS Users Group IMS Connect IMS Connect Recorder Trace This is the prefix and start of the input buffer for a Duplicate Client 00000 00000000 C9E3D6C3 E2D50052 00000877 14485757 0104212F 00000000 00000000 *....ITOCSN......................* 00020 C4C5D3C4 E4D4D4E8 BB980D5C A3D50A62 00000000 00000000 BB980D5C A3D52C82 *DELDUMMY...*.N.............*.N..* 00040 00000000 00000000 BB980D5C A4031B02 00010000 00000000 00000000 5CC9D7C2 *...........*................*IPB* 00060 01204000 28010000 00000000 0000A0E0 00000000 00000000 00000000 00010000 *.. ............................* This is the output buffer for the Duplicate Client As sent by the IMS Connect sample user message exits The Return Code and Reason Code are at offset x0C in the output message 002E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5CD6D7C2 *............................*OPB* 00300 00140000 5CD9C5D8 E2E3E25C 00000008 00000038 00000000 00000000 00000000 *....*REQSTS*....................* IMS Performance Tuning Update 68
  • IBM Software Group New York City IMS Users Group IMS Connect Tracing and Debugging IMS Connect User Exit Should do WTOs of messages received and messages sent Input from the IMS Connect Client Output from the exit to IMS Connect to send to OTMA Input from OTMA Output to send to the IMS Connect Client WTOs should be done for error conditions even if the debug flag is not on HWSJAVA0 will have to be modified to handle IMS TM Resource Adapter messages IMS Performance Tuning Update 69
  • IBM Software Group New York City IMS Users Group IMS Connect Tracing and Debugging IMS Connect User Exit Should pass the debug flag to OTMA in the OTMA User Data Should be able to handle a debug flag from OTMA for asynchronous output Can use the EXPREA_UFLAG1 field to pass the debug flag from the READ phase of the message from the IMS Connect Client to the EXPXMT_UFLAG1 in the XMIT phase of the message from OTMA IMS Performance Tuning Update 70
  • IBM Software Group New York City IMS Users Group IMS Connect 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,000s of Clients on a Port IMS Performance Tuning Update 71
  • IBM Software Group New York City IMS Users Group IMS Connect There are many ways to design for availability with IMS Connect Multiple IMS Connects on multiple LPARS can connect to multiple IMS copies on multiple LPARS The IMS copies can have shared queues and shared databases so that any transaction can run on any IMS copy The IMS Connect User Exit can be coded to route messages to available IMS copies IMS Connect supports VIPA and Dynamic VIPA There are considerations for Resume TPIPE and asynchronous output IMS Connect will work with SYSPLEX Distributor Will work fine for CM1 messages and IOPCB output from CM0 Supports OTMA Supermember for Resume TPIPE and asynchronous output and undeliverable output IMS Performance Tuning Update 72
  • IBM Software Group New York City IMS Users Group IMS Connect Extensions IMS Performance Tuning Update 73
  • IBM Software Group New York City IMS Users Group IMS Connect Extensions There are 3 IMS tools that are very useful for debugging and tuning in an SOA environment IMS Connect tools IMS Connect Extensions (CEX) BMC Energizer for IMS Connect Log Analysis tools IMS Performance Analyzer (IMSPA) BMC Log Analyzer for IMS IMS Problem Investigator (IMSPI) All of the IBM tools are all supported by the same IBM partner (Fundi) and they all work together IMS Performance Tuning Update 74
  • IBM Software Group New York City IMS Users Group IMS Connect Extensions IMS Connect Extensions IMS Connect Extensions provides features and functions to enhance the usability, control, and operation of IMS Connect Comprehensive event recording for IMS Connect internal events, which can be used for basic reporting and problem analysis Allow users to monitor and display IMS Connect activity and utilization in real time Enhance IMS Connect availability by dynamically managing workloads Improve system security by providing a greater degree of access control IMS Performance Tuning Update 75
  • IBM Software Group New York City IMS Users Group IMS Connect Extensions IMS Connect Extensions Event Collection IMS Connect Extensions gets control for all significant IMS Connect events Events are recorded on Active Journals User sets level of event recording Active journals archived when full Archive journals can be used for: Producing summary and detail activity reports > Almost at the IMS Connect internal trace level Input to IMS Performance Analyzer for more extensive reporting IMS Performance Tuning Update 76
  • IBM Software Group New York City IMS Users Group IMS Connect Extensions IMS Connect Extensions Status monitor IMS Connect Extensions constantly records statistics for each IMS Connect system Current Activities Processing rates At the end of every 20 seconds Displayed on the Status Monitor in two views: System View Port View IMS Performance Tuning Update 77
  • IBM Software Group New York City IMS Users Group IMS Connect Extensions IMS Connect Extensions User Exit management Connect Extensions allows you to manage user exits without interrupting IMS Connect execution ADD loads and initializes a new user exit RELOAD loads a new copy of an existing exit DELETE logically deletes a user exit DISABLE prevents an exit from being used ENABLE enables a previously disabled exit IMS Performance Tuning Update 78
  • IBM Software Group New York City IMS Users Group IMS Connect Extensions IMS Connect Extensions Message management Connect Extensions allows you to manage your messages Efficient RACF checking and caching of ACEEs Choosing available datastores Message flood management IMS Performance Tuning Update 79
  • IBM Software Group New York City IMS Users Group IMS Connect Extensions IMS Connect Extensions IMS User Message Exit Connect response time Client receives incoming TXN DS availability Send to Region availability IMS Exit End to End Port Task availability IMS IMS Connect and IMS Receive Exit Message Counts response time from IMS TXN Counts IMS Connect User Message Exit sends IMS response Time response response time Client IMS Performance Tuning Update 80