IBM Support

PK50759: NOTICEABLE INCREASE IN CPU WHEN USING WEB SERVICES IN CICS.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Trying to launch an Application using Web Services in CICS
    caused a noticeable increase in CPU usage.  The reason for the
    high CPU was because the output from the customer's webservice
    request consists of a large volume of fields.  The amount of
    generated XML is approximately 380K.  So this partly explains
    the overhead of runing DFHPIII PARSE_ICM.  However, the caller
    of DFHPIII (DFHPITL) passes a default 32K buffer to DFHPIII.
    This is never large enough to hold the output.  DFHPIII
    actually constructs all the XML fragments (in a work buffer)
    and keeps track of the cumulative size of generated XML.
    DFHPIII then returns a BUFFER_OVERFLOW response to DFHPITL
    informing it of the required buffer size. DFHPITL then frees
    off the old 32K buffer and getmains a larger buffer before
    calling DFHPIII a second time.  So each webservice request is
    having to go through DFHPIII 2 times over.  Each webservice
    defined to CICS has a Webservice control block 'pi_wsbcontrol'
    used to hold state information.  So it should be possible to
    record the required XML buffer size for each individual
    webservice (by effectively maintaining a high-watermark value).
    This size can then be used on future invocations of the
    webservice in preference to the default 32K buffer. This
    high-watermark value should (over time) eliminate these
    BUFFER_OVERFLOW conditions and reduce the overhead of DFHPIII
    PARSE_ICM processing.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: Excessive CPU overhead when delivering  *
    *                      webservice responses over 32K.          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When the webservice pipeline generates a webservice response
    which exceeds 32K, there are 2 calls to DFHPIII for function
    PARSE_ICM.
    The first call from DFHPITL passes a 32K buffer to hold the
    response. DFHPIII works out the actual size of the SOAP/XML
    response and returns this value to DFHPITL. DFHPITL then
    getmains a larger buffer and calls PARSE_ICM a second time.
    The PARSE_ICM call is quite CPU intensive so duplicate calls
    to this function increase region CPU times.
    
    ADDITIONAL KEYWORDS :- PERFM
    

Problem conclusion

  • DFHPITL has been changed to monitor the size of SOAP/XML
    responses for individual webservices. A high watermark response
    size is maintained (subject to a cap of 5-megabytes) and this is
    used as the buffer size for future PARSE_ICM calls for the
    individual webservice.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PK50759

  • Reported component name

    CICSTS V3 Z/OS

  • Reported component ID

    5655M1500

  • Reported release

    400

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2007-08-09

  • Closed date

    2008-03-03

  • Last modified date

    2008-04-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UK34220 UK34221

Modules/Macros

  •    DESPIDC  DESPIDUF DESPITL  DESPIWR  DFHPIDCC
    DFHPIDCD DFHPIDUF DFHPITL  DFHPIWR
    

Fix information

  • Fixed component name

    CICSTS V3 Z/OS

  • Fixed component ID

    5655M1500

Applicable component levels

  • R400 PSY UK34220

       UP08/03/06 P F803

  • R500 PSY UK34221

       UP08/03/06 P F803

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 April 2008