Analyzing Web Dynpro Java Application Performance with a Simple URL-Parameter
- Origin: Where does the performance bottleneck originiate from? Is it based on a problem on client side (parsing), on server side (application logic, server processing) or on backend side (business logic)? Does my dynamic view modification code cause the problem? Is it the execution of an Adaptive RFC model class?
- Effectiveness: How do I know whether my approach to solving the performance problem is going in the right direction? How can I measure the performance improvement during this iterative optimization process?
Attaching the Web Dynpro URL-parameter sap-wd-showInfo
To find a first answer on these two questions I highly suggest using the generic Web Dynpro URL-parameter named sap-wd-showInfo, which is applicable in SAP NW04 and NW04s.
In order to measure and characterize end-to-end performance of a running Web Dynpro application per client-server-roundtrip, just add the parameter sap-wd-showInfo to the application-URL and set it to any non-null value (e.g. X or true). The Web Dynpro HTML browser client then displays the following time values [in ms] in the status line
Browser |
|
J2EE |
|
Back-End |
|
Size |
|
With the displayed time values you can determine the origin of potential performance bottlenecks on client side, server side or on backend side. The values are re-calculated in every single request-response cycle.
Restrictions
- The URL parameter sap-wd-showInfo can only be applied for those Web Dynpro applications, which are not running within the SAP NetWeaver Portal as iViews do not provide a visible status line.
- The Backend time value is only measured for Adpative RFC Models. It is 0 for (Adaptive) Web Service or JavaBean Models.
Setting URL Parameters in the Web Dynpro Tool Preferences
To automatically add the key-value pair sap-wd-showInfo=X to the URL of a deployed Web Dynpro application you can use the Web Dynpro Tools preferences.
- Select menu item Window – Preferences in the SAP NetWeaver Developer Studio.
- In the preferences tree open node Web Dynpro – Server.
- In the field URL parameters enter the value sap-wd-showInfo=X.
Afterwards the defined URL parameter will be automatically attached to the application URL when iteratively deploying and running the Web Dynpro application you are actually developing.
Using the Web Dynpro Console
In this respect I want point out, that the Web Dynpro Console can be used to measure the client performance across multiple request-response cycles.
- Login to the Web Dynpro Console Application as an Administrator: http://:/webdynpro/dispatcher/sap.com/tc~wd~tools/WebDynproConsole
- Select the node Admin Menu – Performance – Client
- Open a new browser instance. Do not use the menu item File – New – Window (or CTRL+N) but run a new browser instance via Programs ….
- Start Measuring by pressing the Start button.
- Enter the URL of your test application in the new browser window and press Return.
- Interact with your Web Dynpro application by triggering on or more actions.
- After having completed your test scenario inside your Web Dynpro application window press Stop in the Web Dynpro Cosole.
- The Web Dynpro Console now displays the client performance results for the recorded request/response cycles (time interval). The calculation of different time values (total, average, minimum and maximum time, call count) for the quantities time_parse, time_scriptAfterHTML, time_applyInnerHTML, time_scriptBeforeHTML and response is based on the Browser-related performance values, which were displayed in the status bar.
Enjoy Web Dynpro,
Bertram Ganz, NW ESI F UI – WDF4J, SAP AG
There should be yet another parameter, that shows transfered content for every request in separate browser window. Unfortunately, I forget its name 🙁
Do you remember it?
P.S. Overall, very useful hint
Regards, Bertram
http://help.sap.com/saphelp_nw2004s/helpdata/en/f4/651741f163f023e10000000a155106/frameset.htm
Armin
It is sap-wd-clienttrace
Hmmm... I guess it is public (at least now), isn't it?
VS
sap-wd-clienttrace=5 gives me information NOT related to the purpose of the Blog.
My Question still remains as what Simon first posted:
When I use the parameter sap-wd-showInfo=X I see Browser: XXXX J2EE: XXXX Back-end: XXXX. I do not see the breakdown of Browser into (Parsing, HTML etc...) nor do I see the Size: value.
Can you please help us with the same?
It does not seem to work in my case..
This parameter is not available in SAP Help documentation.. Is this is also restricted ? Or is there somethin i need to set.?
Regards
Bharathwaj
Is there a way to get this information for
Web Dynpro ABAP, too ? In WDA this parameter
isn't implemented yet, or doesn't work - why ?
Greetings
Frank Ruggaber
It's sap-wd-ssrconsole=X and displays quite alot of interesting information, like how many context nodes, attributes or view elements were changed, etc.
Best regards,
Thomas
P.S: I've got to add the disclaimer that this parameter is purely SAP internal and that we might change its purpose, remove it, change the content of the popup, etc without further notice.. :))
This is a great blog ...but i wonder..
Can we use this process to one application that simulate use of a lot of users ???
Very helpful weblog !
I would like too to use this to simulate several users ...
Faniel, Did you ever try it ? What tool did you use to simulate a lot of users ?
Thanks In Advance
Claire
Thank you for the blog, it is very useful. When I use the parameter sap-wd-showInfo=X I see Browser: XXXX J2EE: XXXX Back-end: XXXX. I do not see the breakdown of Browser into (Parsing, HTML etc...) nor do I see the Size: value.
Can you comment on this?
Thanks,
Simon
I have a webdynpro application in which after setting this parameter to see the performance values it returns HTML rendering values that are really high ( > 5000) when the application is run on a 2 ghz processor laptop with 3 GB of ram. This value is way less on a desktop PC (around 200) with similar hardware. I was just wondering what this higher value means? Does it mean that there is something on the laptop computer that causes this higher value for html rendering?
Your blog is very much helpful. Thanx a ton for sharing this useful info.
I have passed "sap-wd-showInfo=X" in "Application Parametrs" for an iView.
Time to update the blog 🙂
Thank u,
Kunal Kotak