PurposeIn some cases performance issues can be experienced for a Web Dynpro Application and it is not easy to locate the root cause of the issue. This page collects some tools and methods that can be used for performance analyses of a Web Dnypro Application.
The performance issues can be caused by bugs and program errors. Currently the following performance issues are known to us:
- SAP Note 2224317: IE Issue: Massive performance issues with IE8 - IE11 (Quirks Mode) using nested splitters;
- SAP Note 2422850: WDA: Performance issue in WDA applications after upgraded to EHP7;
- SAP Note 2099080: IE Issue: Performance issue IE11 quirks mode;
- SAP Note 2292940: IE Issue: XML Parser can't handle large HTML data causing an distorted looking page.
If the performance issue is not related to the above SAP Notes, deeper performance analyzes has to be performed. The following analyzing tools will be discussed in this Wiki page:
- HTTP sniffer tools (HTTP Watch Trace, Fidler, Developer tool)
- SAT/SE30 Trace
- Web Dynpro monitoring
HTTP Sniffer tools
Firstly, it should be determined if the root cause of the performance issue is due to some network communication or the issue lies in the backend server. For this the most common tool we use is HTTPWatch trace.
The tool offers a possibility to analyse the time a HTTP Request needs to respond. The analyses is helped by the tool as it splits up the time into several segments:
The Time Chart tab displays an enlarged view of the time chart for the selected request. A description of each colored section and its duration in seconds is available by clicking on the chart. If the send/receive consumes a lot of time it indicates some kind of network issu, or the transferred data is too large and requires a lot of time. In this case the WDA Framework is not at fault. If the wait time is large (please check the consumed seconds, not just the size of the chart bar), it may indicate performance problems of the application or server.
- Size of the content
In case of performance issues, it is important to check how large is the content that is being transferred between the backend and the browser. As the data is being transferred in a compressed way, when a large content can be transferred relatively quickly. However, in order to display the uncompressed data in the browser it may take up a lot of time. You can see the size of the uncompressed data check this in the HTTP Watch trace content tab. Un this case you can see the following: text/xml; charset=utf-8 : 15488324 bytes, gzip compressed to 421864 bytes ( 97.3 % saving ). So the uncompressed data size is over 15 Mb.
The larger the content, the more time it takes to render it for display. This can get especially critical with IE10 or IE11, as there is a microsoft bug by displaying large XML files. This issue is discussed in SAP Note 2292940: IE Issue: XML Parser can't handle large HTML data causing an distorted looking page. The solution in cases where the HTML is too large and causes performance issues to the only possibility is to reduce the amount of data displayed (eg. less rows, smaller charts), decompose the application to multiple screens with smaller amount of data displayed. A workaround might be to use Chrome or Firefox in case such a large data.
If the HTTP Trace indicates a performance issue from the backend, please create a SAT/SE30 performance trace. In this trace, you can check which processes takes up the most time, if you sort the Net times, you can locate the function or program that needs a lot of time. Follow the link to find out more information about ABAP Runtime Analysis.
How to create a performance trace for a Web Dynpro Application (See also: 2327539 - How to create a SE30 Trace for Web Dynpro ABAP Application [VIDEO]):
1. You have to create a new variant in transaction SE30 (WEBDYNPRO for example).
2. Go to the corresponding service of your application in SICF and start the performance analysis (Edit menu -> Runtime analysis -> Activate): select your variant (WEBDYNPRO), choose "High" for the measurement precision and "Single entries" for the processing.
3. Start your application and recreate the steps where you the performance problem facing.
4. Deactivate the performance analysis (Edit menu -> Runtime analysis -> Deactivate)
To evaluate the trace within SE30/SAT:
- Go to the tab 'Evaluate'.
- Select from the table the measurament with the highest 'runtime' value
- Double click on it
- Go to tab 'Hit list'
- Sort in decreasing order the results by 'Net (mincrosec)' time
- The Statements/events in the top rows would take up the most time by the application.
Web Dynpro monitoring
The Web Dynpro Monitoring can be also helpful to see the performnce statistics of the application in use. The key combination CTRL+ Shift + ALT + H opens a dialog box displaying all available helper functions and the related key combinations to use the function. The available functions depends on the NetWeaver release and the application. For more information please see the related documentation: http://help.sap.com/saphelp_nw73ehp1/helpdata/en/4b/4cdb2ffcf74d39ac958fe21702887b/content.htm. The required authorizations are S_ADMI_FCD STOM and S_DEVELOP DEBUG.