IMS Performance Tuning Update
              New York City IMS User Group


Steve Nathan
Senior Software Engineer
IBM Corpo...
IBM Software Group
                    New York City IMS Users Group

                              Important Disclaimer
T...
IBM Software Group
                     New York City IMS Users Group

Agenda
 What’s New in IMS Performance Tuning?

 IMS...
IBM Software Group
                    New York City IMS Users Group

What’s New in IMS Performance Tuning?

Question:
 – ...
IBM Software Group
                     New York City IMS Users Group

What’s New in IMS Performance Tuning?
   SERVER
   ...
IBM Software Group
              New York City IMS Users Group




              IMS Connect Clients




                 ...
IBM Software Group
                    New York City IMS Users Group

IMS Connect Clients
There are several things that ca...
IBM Software Group
                     New York City IMS Users Group

IMS Connect Clients
 There is a basic flow of TCP/I...
IBM Software Group
                     New York City IMS Users Group

IMS Connect Clients
 There are three types of conne...
IBM Software Group
                     New York City IMS Users Group

IMS Connect Clients

Use one send for the entire me...
IBM Software Group
                     New York City IMS Users Group

IMS Connect Clients
 IMS Connect Client Side TCP/IP...
IBM Software Group
                   New York City IMS Users Group

IMS Connect Clients
   Application Tracing and Debugg...
IBM Software Group
                    New York City IMS Users Group

IMS Connect Clients
   IMS Connect Client
    – The ...
IBM Software Group
              New York City IMS Users Group




                               TCP/IP




             ...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging

   TCP/IP Traces
    – ...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging

   TCP/IP Traces
    – ...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging

   TCP/IP flows

    – ...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging

   TCP/IP Flows

    –...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flow
    – Co...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flows
    – C...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flows
    – Co...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flows
    – VI...
IBM Software Group
                     New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flows
    – ...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flows
    – I...
IBM Software Group
                      New York City IMS Users Group

TCP/IP Tracing and Debugging
       4930631 TSO1  ...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging

   TCP/IP Flows
    – ...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flows
    – V...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging

   TCP/IP Flows

    – ...
IBM Software Group
                     New York City IMS Users Group

TCP/IP Tracing and Debugging
         4930633 TSO1 ...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flows
    – Th...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flows
    – VI...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flows
    – I...
IBM Software Group
                      New York City IMS Users Group

TCP/IP Tracing and Debugging
       4930635 TSO1  ...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging

   TCP/IP Flows
    – ...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging

   TCP/IP Flows

    –...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flows
    – I...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging

   TCP/IP Flows
    – T...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flow
    – Di...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flow
    – Di...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flow
    – Di...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flow
    – Di...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flow
    – So ...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flow
    – So ...
IBM Software Group
                    New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flow
    – So...
IBM Software Group
                   New York City IMS Users Group

TCP/IP Tracing and Debugging
   TCP/IP Flow

    – Fo...
IBM Software Group
              New York City IMS Users Group




                         IMS Connect




              ...
IBM Software Group
                    New York City IMS Users Group

IMS Connect
Normally messages should flow through IM...
IBM Software Group
                   New York City IMS Users Group

IMS Connect

    IMS Connect Side TCP/IP Parameters
 ...
IBM Software Group
                   New York City IMS Users Group
IMS Connect

    BPECFG
    – VERY STRONGLY RECOMMENDE...
IBM Software Group
                   New York City IMS Users Group
IMS Connect

    HWSCFG
    – HWS control card
       ...
IBM Software Group
                   New York City IMS Users Group
IMS Connect

    HWSCFG (continued)
     – TCP/IP cont...
IBM Software Group
                   New York City IMS Users Group

IMS Connect

    HWSCFG (continued)
     – TCP/IP con...
IBM Software Group
                   New York City IMS Users Group
IMS Connect

   HWSCFG (continued)

    – TCP/IP contr...
IBM Software Group
                     New York City IMS Users Group
IMS Connect

    HWSCFG (continued)
     – TCP/IP co...
IBM Software Group
                   New York City IMS Users Group
IMS Connect

    HWSCFG (continued)
     – Datastore C...
IBM Software Group
                   New York City IMS Users Group

IMS Connect

                                       X...
IBM Software Group
                   New York City IMS Users Group

IMS Connect

   IMS Connect Tracing and Debugging
   ...
IBM Software Group
                   New York City IMS Users Group

IMS Connect
   VIEWHWS Command
    – The DELDUMMY is ...
IBM Software Group
                    New York City IMS Users Group

IMS Connect

   IMS Connect Recorder Trace
    – Thi...
IBM Software Group
                           New York City IMS Users Group

IMS Connect
         IMS Connect Recorder Tra...
IBM Software Group
                           New York City IMS Users Group

IMS Connect
         IMS Connect Recorder Tra...
IBM Software Group
                            New York City IMS Users Group

IMS Connect
         IMS Connect Recorder Tr...
IBM Software Group
                            New York City IMS Users Group

IMS Connect
     IMS Connect Recorder Trace
...
IBM Software Group
                                New York City IMS Users Group

IMS Connect
     IMS Connect Recorder Tr...
IBM Software Group
                            New York City IMS Users Group

IMS Connect
      IMS Connect Recorder Trace...
IBM Software Group
                                New York City IMS Users Group

IMS Connect
     IMS Connect Recorder Tr...
IBM Software Group
                                 New York City IMS Users Group

IMS Connect
        IMS Connect Recorde...
IBM Software Group
                               New York City IMS Users Group

IMS Connect
        IMS Connect Recorder ...
IBM Software Group
                   New York City IMS Users Group

IMS Connect

   Tracing and Debugging
    – IMS Conne...
IBM Software Group
                   New York City IMS Users Group

IMS Connect

   Tracing and Debugging
    – IMS Conne...
IBM Software Group
                   New York City IMS Users Group

IMS Connect

   PK57574 is an important IMS Connect p...
IBM Software Group
                   New York City IMS Users Group

IMS Connect

    There are many ways to design for av...
IBM Software Group
              New York City IMS Users Group




            IMS Connect Extensions




                ...
IBM Software Group
                   New York City IMS Users Group

IMS Connect Extensions

   There are 3 IMS tools that...
IBM Software Group
                   New York City IMS Users Group

IMS Connect Extensions

   IMS Connect Extensions
   ...
IBM Software Group
                   New York City IMS Users Group

IMS Connect Extensions

   IMS Connect Extensions
   ...
IBM Software Group
                   New York City IMS Users Group

IMS Connect Extensions

   IMS Connect Extensions
   ...
IBM Software Group
                   New York City IMS Users Group

IMS Connect Extensions

   IMS Connect Extensions
   ...
IBM Software Group
                   New York City IMS Users Group

IMS Connect Extensions

   IMS Connect Extensions
   ...
IBM Software Group
                      New York City IMS Users Group

IMS Connect Extensions
IMS Connect Extensions

   ...
IBM Software Group
                      New York City IMS Users Group

IMS Connect Extensions
New features in IMS Connect...
IBM Software Group
                         New York City IMS Users Group

IMS Connect Extensions

 Eclipse GUI
     – New...
IBM Software Group
                      New York City IMS Users Group

IMS Connect Extensions

                          ...
IBM Software Group
              New York City IMS Users Group




                     IMS Performance Tuning Update   84
IBM Software Group
                   New York City IMS Users Group




85                        IMS Performance Tuning U...
IBM Software Group
                   New York City IMS Users Group




86                        IMS Performance Tuning U...
IBM Software Group
              New York City IMS Users Group




                     IMS Performance Tuning Update   87
IBM Software Group
                   New York City IMS Users Group

IMS Connect Extensions
Network Status Information

  ...
IBM Software Group
                   New York City IMS Users Group




89                        IMS Performance Tuning U...
IBM Software Group
                         New York City IMS Users Group

IMS Connect Extensions
     Rules-Based Routing...
IBM Software Group
                        New York City IMS Users Group

IMS Connect Extensions
     Use generic routing ...
IBM Software Group
                           New York City IMS Users Group

IMS Connect Extensions
     Setting Routing B...
IBM Software Group
                        New York City IMS Users Group

IMS Connect Extensions
 Setting Routing Behavior...
IBM Software Group
                           New York City IMS Users Group

IMS Connect Extensions
 Setting Routing Behav...
IBM Software Group
                              New York City IMS Users Group

                      File Menu Settings H...
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
IMS Performance Tuning
Upcoming SlideShare
Loading in …5
×

IMS Performance Tuning

3,852 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,852
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
199
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

IMS Performance Tuning

  1. 1. IMS Performance Tuning Update New York City IMS User Group Steve Nathan Senior Software Engineer IBM Corporation snathan@us.ibm.com © 2005 IBM Corporation
  2. 2. 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 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, 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
  3. 3. IBM Software Group New York City IMS Users Group Agenda What’s 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
  4. 4. IBM Software Group New York City IMS Users Group What’s New in IMS Performance Tuning? Question: – What’s New in IMS Performance Tuning? Answer: – It’s 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
  5. 5. IBM Software Group New York City IMS Users Group What’s 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 <V10 VTAM LU1 VTAM LU2 LU 6.1 LU 6.2 End User IMS Performance Tuning Update 5
  6. 6. IBM Software Group New York City IMS Users Group IMS Connect Clients IMS Performance Tuning Update 6
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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 (x’00040000’) – 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. IBM Software Group New York City IMS Users Group TCP/IP IMS Performance Tuning Update 14
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. 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 (x’00040000’) – It was sent with one WRITE – The x’3B’ at offset x’15’ is the timeout value = 20 seconds • IMS Connect will for for 20 seconds for an answer from IMS – The x’00’ at offset x’16’ says this is a Transaction Socket • The IMS Connect will disconnect after each transaction – The x’4001’ at offset x’21’ says this is a CM0 SL1 message IMS Performance Tuning Update 24
  25. 25. 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
  26. 26. IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows – TCP/IP ACK’s 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
  27. 27. 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
  28. 28. 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 x’20’ 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
  29. 29. 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
  30. 30. IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows – The IMS Connect Client TCP/IP ACK’s 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
  31. 31. 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
  32. 32. 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 (x’00040000’) – There is no data in the message – just the prefix indicating this is an ACK (or NAK) – The timeout value was set to x’03’ 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
  33. 33. 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
  34. 34. IBM Software Group New York City IMS Users Group TCP/IP Tracing and Debugging TCP/IP Flows – TCP/IP ACK’s 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
  35. 35. 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
  36. 36. 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
  37. 37. 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
  38. 38. 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
  39. 39. 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
  40. 40. 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
  41. 41. 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
  42. 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: • 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
  43. 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: • 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
  44. 44. 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
  45. 45. 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
  46. 46. IBM Software Group New York City IMS Users Group IMS Connect IMS Performance Tuning Update 46
  47. 47. 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 TCB’s – Datastores – RACF IMS Performance Tuning Update 47
  48. 48. 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
  49. 49. 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
  50. 50. 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 ACEE’s > ICON calls RACF for each message from a new user on a socket > IMS Connect Extensions can do security checking and does cache ACEE’s – 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
  51. 51. 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
  52. 52. 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
  53. 53. 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
  54. 54. 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
  55. 55. 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
  56. 56. 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
  57. 57. 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
  58. 58. 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
  59. 59. 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
  60. 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 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
  61. 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 time of the record is at offset x’10 • X’HHMMSSTT’ local time – The date of the record is at offset x’14’ • x’CCYYDDDF’ – CC – Century – x’01’ = 21st century – YY – Year – DDD – Julian day – F – Packed sign – The Clientid is at offset x’20’ IMS Performance Tuning Update 61
  62. 62. 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 x’003C’ indicates the Input Buffer follows 0002E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 5CD6D7C2 *............................*OPB* – The *OPB at offset x’02FC’ indicates that the Output Buffer follows IMS Performance Tuning Update 62
  63. 63. 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 x’00AC’ 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
  64. 64. 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
  65. 65. 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
  66. 66. 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
  67. 67. 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 x’01’ at offset x’0301’ indicates a command • The x’28’ at offset x’0304’ is the Resume TPIPE on HOLDQ command • The TPIPE name is in the State data – offset x’0324’ IMS Performance Tuning Update 67
  68. 68. 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 x’0C’ 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
  69. 69. IBM Software Group New York City IMS Users Group IMS Connect Tracing and Debugging – IMS Connect User Exit • Should do WTO’s 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 • WTO’s 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
  70. 70. 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
  71. 71. 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,000’s of Clients on a Port IMS Performance Tuning Update 71
  72. 72. 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
  73. 73. IBM Software Group New York City IMS Users Group IMS Connect Extensions IMS Performance Tuning Update 73
  74. 74. 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
  75. 75. 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
  76. 76. 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
  77. 77. 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
  78. 78. 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
  79. 79. 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 ACEE’s – Choosing available datastores – Message flood management IMS Performance Tuning Update 79
  80. 80. 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
  81. 81. IBM Software Group New York City IMS Users Group IMS Connect Extensions New features in IMS Connect Extensions2.2 (and some via SPE in IMS Connect Extensions 2.1) – Eclipse-based operational management GUI (V2R2 only) – Rules-based routing – Extended status information (V2R2 only) – TCP/IP information (similar to NETSTAT) for active sessions(V2R2 only) – Routing intelligence improved to use IMS flood-warn state – IMS V11 command support (V2R2 only) – IMS V11 event collection (V2R2 only) – Improved management of IMS Connect transaction options – Persistent trace: activate IMS Connect Extensions tracing on every system restart – Verify user service exit function – Batch Command utility refresh of Connect Extensions options – Mixed-case password support – Simplified configuration with setup dialog (V2R2 only) IMS Performance Tuning Update 81
  82. 82. IBM Software Group New York City IMS Users Group IMS Connect Extensions Eclipse GUI – New IMS Connect interface: provides all IMS Connect Extensions operational management capabilities – Does not provide definition management (still ISPF only) – Shipped as part of the product libraries – Connects via the same TCP/IP port as the IMS Connect Extensions’ ISPF dialog 82 IMS Performance Tuning Update 82
  83. 83. IBM Software Group New York City IMS Users Group IMS Connect Extensions File Option Help ---------------------- Eclipse or ISPF _ Stop IMS 1 link _ View TOKYO sessions _ Stop NY sessions F1 – Help F2 - Scroll Tokyo New York IMS IMS IMS Connect IMS Connect IMS IMS IMS Connect IMS Connect IMS IMS 83 IMS Performance Tuning Update 83
  84. 84. IBM Software Group New York City IMS Users Group IMS Performance Tuning Update 84
  85. 85. IBM Software Group New York City IMS Users Group 85 IMS Performance Tuning Update 85
  86. 86. IBM Software Group New York City IMS Users Group 86 IMS Performance Tuning Update 86
  87. 87. IBM Software Group New York City IMS Users Group IMS Performance Tuning Update 87
  88. 88. IBM Software Group New York City IMS Users Group IMS Connect Extensions Network Status Information Connection: Client ID . . . . . : DUDCLI01 Connection ID . . . : 0011EFF1 Local address . . . : 172.17.69.25..3941 Remote address . . . : 172.17.69.25..10707 Status: State . . . . . . . : ClosWait Start time . . . . . : 2009-07-21 02.59.36.022797 Last activity . . . : 2009-07-21 02.59.36.045867 Counts: Bytes sent . . . . . : 0 Bytes received . . . : 100 Segments sent . . . : 2 Segments received . : 4 Seg retransmitted . : 0 Round trip time (ms) : 0 Round trip variance : 1124 IMS Performance Tuning Update 88
  89. 89. IBM Software Group New York City IMS Users Group 89 IMS Performance Tuning Update 89
  90. 90. IBM Software Group New York City IMS Users Group IMS Connect Extensions Rules-Based Routing – The simplest way to gain the benefits of IMS Connect Extensions’ routing – Create rules that, for a given DESTID, determine a primary and fallback collection of candidate datastores – IMS Connect Extensions will balance workload between the datastores in the primary collection – If none of the datastores in the primary collection are available or if all datastores in that collection are in flood, then IMS Connect Extensions spreads workload between the fallback collection – Works for transactional messages, Send Only, Resume TPIPE, Synchronous callout, and Asynchronous callout – Benefits: improved performance, redundancy, better capacity management 90 IMS Performance Tuning Update 90
  91. 91. IBM Software Group New York City IMS Users Group IMS Connect Extensions Use generic routing to utilize multiple TCB’s in OTMA 1000msg/s 4x250msg/s IMS Connect OTMA Datastore A TCB Messages DESTID=X Datastore B TCB Datastore C TCB Datastore D TCB IMS Connect IMS Connect OTMA Extensions converts a Datastore E TCB single DESTID to Datastore F TCB multiple datastores Datastore G TCB Datastore H TCB 91 IMS Performance Tuning Update 91
  92. 92. IBM Software Group New York City IMS Users Group IMS Connect Extensions Setting Routing Behavior File Menu Help —————————————————————————————————————————————————————————————————————————————— Definitions Option ===> 1 System Definitions Specify definitions for IMS Connect systems 2 User Exits Specify User Message Exits 3 Datastores Define datastore processing options 4 Datastore Groups Group datastores for collective control 5 Affinity Lists Associate datastores for Affinity processing 6 Applications Group transactions for Application control 7 Transactions Define transaction processing options 8 System Groups Group IMS Connect systems for collective control 9 Routing Rules Define rules for message routing 10 Routing Lists Associate datastores for rules based routing Two new definition types have been added to IMS Connect Extensions: one lets you set routing behavior, the other lets you define collections of datastores to use as routing candidates 92 IMS Performance Tuning Update 92
  93. 93. IBM Software Group New York City IMS Users Group IMS Connect Extensions Setting Routing Behavior File Menu Settings Help —————————————————————————————————————————————————————————————————————————————— Routing Rules Row 1 from 4 Command ===> Scroll ===> CSR Filter . . . (Blank or pattern) Enter "/" to select action --- Applies to --- Original / Name Description Type Definition Datastore DEF01 Default behavior 1 ALL IMS1 DEF02 Default behavior 2 ALL IMS2 PLEX1RT1 Routing rule for dev plex GROUP DEV IMSDEV HWS1RT1 Override routing rule for HWS1 SYSTEM RAPI04 IMS1 ******************************* Bottom of data ******************************** Routing rules describe which datastores to use as primary targets and fallback targets for a given original datastore (DESTID) A rule that is specific to an IMS Connect system will override a rule with the same condition and message type specified for a group or for all systems; a rule specified for a group will override a rule that applies to all systems. 93 IMS Performance Tuning Update 93
  94. 94. IBM Software Group New York City IMS Users Group IMS Connect Extensions Setting Routing Behavior File Menu Settings Help —————————————————————————————————————————————————————————————————————————————— EDIT Routing Rule Command ===> Name . . . . : DEF01 Description . . Default behavior 1 Apply rule to: The rule applies to all systems, 3 1. System . . . . . + when a message specifies the 2. Group . . . . . . + 3. All systems original datastore ‘IMS1’ Condition: Original Datastore . IMS1 (IRM_IMSDestId) Rules specific to a ---- Routing lists ----- system, overwrite / Message types Target + Fallback + Y Send-Receive Transactions RL0001 RL0002 rules for the group, Y Send-Only requests RL0001 RL0002 rules for a group Y Resume TPIPE requests RL0001 RL0002 Y Synchronous call-out resume TPIPE requests RL0001 RL0002 overwrite rules for Y Synchronous call-out responses RL0001 RL0002 all systems Press PF1 for help on the various options You can set different collections of target and fallback datastores for each message type. 94 IMS Performance Tuning Update 94
  95. 95. IBM Software Group New York City IMS Users Group File Menu Settings Help —————————————————————————————————————————————————————— 

×