Re[2]: [Webwork-user] Re: Performance of ParameterAware
Brought to you by:
baldree,
rickardoberg
From: Peter K. <pe...@mo...> - 2002-06-25 05:19:30
|
Matt, The problem seems to be with including selectmap.jsp when there is a value selected that is obtained from the action. The performance slowdown is proportional to the number of items in the select list. For example we have a drop down that has the possible values for days in a month, the numbers 1 to 31. If the value of the control is set to today's date it consistently takes 9 seconds to execute. If we take out the code that sets the date it executes in a few milliseconds. By running our page in the debugger the method that seems to be taking all the time is: rd.include(aContext.getRequest(), res); at line 54 in webwork.view.taglib.IncludeTag Since we are using JBoss 3.0 this all runs under Tomcat 4.0.3 - the only servlet container currently integrated with JBoss out of the box. We have tried Tomcat 4.0.4 integrated with JBoss with no better performance but Tomcat 4.0.4 standalone seems to be OK. I have attached a test case that demonstrates the problem. To run it unzip the files into a directory called test.war under the JBoss 3.0 server directory of your choice and then browse to http://localhost:8080/test and follow the link. This page is taking 14 seconds to draw the list control on my system. Friday, June 21, 2002, 10:19:55 PM, you wrote: MB> Can you submit a simple example that illustrates the problem? MB> -Matt MB> ----- Original Message ----- MB> From: "Peter Kelley" <pe...@mo...> MB> To: "Chris Miller" <chr...@ho...>; MB> <web...@li...> MB> Sent: Friday, June 21, 2002 4:03 AM MB> Subject: Re: [Webwork-user] Re: Performance of ParameterAware >> Chris, >> >> I just managed to get a run in OptimizeIt and 95% of the time is being >> spent in java.lang.reflect.Array.newInstance(). Along with the fact >> that there are 10-20 getParameter calls for each control does this >> suggest anything to anybody ? The pattern seems to be: >> >> Get the control value from the method in the action >> Call getParameter on the action a few times very quickly >> Do something else that we are not logging, sometimes for a second or >> more. >> Get the next control value >> etc... >> >> Any ideas as to how we can solve this ? >> >> BTW, the reason we are using parameter aware is that we have input >> controls inside an iterator tag and we need to be able to get the >> values for each of the controls when the form is submitted (and >> display them if the same page is re-displayed). If there is another >> recommended way of doing this I would be interested in finding out. >> What would be really cool is if webwork supported indexed properties >> (a little used feature of Java beans) on actions but I can't see this >> documented anywhere. Should this be a feature request ? >> >> Thursday, June 20, 2002, 10:52:24 PM, you wrote: >> >> CM> Have you tried with Tomcat 4.0.4 and/or 4.1.5, or even better, a MB> different >> CM> servlet container (Orion, Resin, ...)? There have been changes in the MB> latest >> CM> builds of Tomcat that can provide large performance improvements in MB> many >> CM> circumstances. >> >> CM> Also, it sounds like you've done some profiling - where is the MB> majority of >> CM> the time being spent? >> >> CM> Note that I'm not trying to discount the possibility of this being a MB> WW >> CM> issue, just trying to help narrow down the source of the problem. >> >> CM> Regards, >> CM> Chris >> >> >> We have an admittedly complex JSP page that is taking between 20 and >> >> 30 seconds to load, even after a first view. There are 3 actions on >> >> the page in addition to the calling action but each of them is taking >> >> 20-30 milliseconds to run. There appear to be a large number of calls >> >> to the getParameter() method on the main action for each control on >> >> the page. >> >> >> >> Any ideas ? >> >> >> >> Jboss 3.0 with Tomcat 4.0.3 >> >> Webwork 1.1 >> >> Windows 2000 Professional >> >> >> >> -- -- regards, Peter Kelley MoveIt Pty Ltd "If you want to build a ship, don't drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea." - Saint-Exupery |