PurposeIn some cases performance issues could be experienced for a Web Dynpro Application and it may not be 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.
Before starting deeper analyses of the performance issues please make sure that the following two criteria are met:
The performance issues could be caused by bugs or program errors. Currently the following performance issues are known:
- 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 SAP Notes mentioned above, a deeper performance analysis has to be performed. The following analyzing tools will be further discussed:
- HTTP sniffer tools (HTTP Watch Trace, Fidler, Developer tool)
- SAT/SE30 Trace
- Web Dynpro monitoring
HTTP Sniffer tools
Firstly, it should be determined whether the root cause of the performance issue is due to network communication or the issue lies in the back-end server. The most common tool we use for this task is HTTPWatch.
The tool offers a possibility to analyse the response time of an HTTP request. The analysis is further enhanced 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 and duration in seconds is available for each colored section by clicking on the chart. If either the send or receive sections consume a lot of time, then that indicates some kind of network issue, or that 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 seems too long (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 the size of the content that is being transferred between the back-end and the browser. As the data is transferred in a compressed format even large contents should be transferred relatively quickly. However, displaying the uncompressed data in the browser may take significantly longer. To see the size of the uncompressed data please refer to the HTTP Watch Content tab. In this case the following is visible here: text/xml; charset=utf-8 : 15488324 bytes, gzip compressed to 421864 bytes ( 97.3 % saving ). 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 with 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. If the HTML is large enough that it causes severe performance degradation it might be the only possible resolution to reduce the amount of data displayed (e.g., less rows, smaller charts). Alternatively decompose the application to multiple screens with smaller amounts of data displayed. A workaround might be to use Chrome or Firefox in case of these aforementioned large data requests.
If the HTTP Trace indicates a performance issue from the back-end, please create a SAT/SE30 performance trace. In this trace you can check, which processes take up the most time. Sorting by the Net times, the function or program that requires highly elevated time usage can be located. Further information can be found on the ABAP Runtime Analysis wiki page.
To create a performance trace for a Web Dynpro Application follow the steps below: (See also: SAP Note 2327539 - How to create a SE30 Trace for Web Dynpro ABAP Application [VIDEO])
1. Create a new variant in transaction SE30 (WEBDYNPRO for example).
2. Go to the corresponding service of the application in SICF and start the performance analysis (Edit menu -> Runtime analysis -> Activate): select the required variant (WEBDYNPRO), choose "High" for the measurement precision and "Single entries" for the processing.
3. Start the application and recreate the steps where the performance degradation was encountered.
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 measurement with the highest "runtime" value.
- Double click on it.
- Go to tab 'Hit list'.
- Sort the results in decreasing order by "Net (microsec)" 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 also be helpful to see the performance 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 them. The available functions are dependent on the NetWeaver release and the application. For more information please see the related SAP Help Portal documentation. The required authorizations are S_ADMI_FCD STOM and S_DEVELOP DEBUG.