Dear Wim, We have been monitoring both memory and CPU usage, Interesting thing is memory is normal and only CPU is coursing the problem after migration.
Here are sample records of CUP usage and Memory Usage. TIME PID CPU% MEM% 06:03:12 26350 130.10 12.60 06:03:17 26350 135.80 12.60 06:03:23 26350 151.80 12.60 06:03:28 26350 137.80 12.60 06:03:34 26350 137.90 12.60 06:03:39 26350 132.00 12.60 06:03:45 26350 134.00 12.60 06:03:50 26350 119.90 12.60 06:03:56 26350 163.90 12.60 06:04:01 26350 64.00 12.60 06:04:24 26350 128.00 12.60 06:04:29 26350 124.00 12.60 06:04:35 26350 153.80 12.60 06:04:40 26350 138.00 12.60 06:04:46 26350 165.80 12.60 06:04:51 26350 139.80 12.60 06:04:57 26350 132.00 12.60 06:05:02 26350 129.70 12.60 06:05:08 26350 150.00 12.60 06:05:13 26350 143.70 12.60 06:05:19 26350 142.00 12.60 So its clear this is not due to excessive garbage collection. Any Idea ? Kind Regards Lasantha On Tue, Jul 14, 2009 at 3:18 PM, Wim De Smet<krom...@gmail.com> wrote: > Hi, > > Lots of CPU activity could in some cases point to a memory problem > where the garbage collector is getting run a lot because the server is > very near memory exhaustion. Try monitoring memory usage and gc cycles > with the usual tools (jvisualvm, jstat) and work from there. I'm sure > there's a guide from sun somewhere on their site. > > regards, > Wim > > On Tue, Jul 14, 2009 at 12:30 PM, Lasantha > Pambagoda<lpambag...@gmail.com> wrote: >> Dear Dave, >> >> We are using JBoss Application Server of 4.2.3 GA release. >> >> Best Regards >> Lasantha >> >> On Tue, Jul 14, 2009 at 2:18 PM, Dave Newton<newton.d...@yahoo.com> wrote: >>> I may have missed it, but providing the server you're using would be >>> helpful. >>> >>> Dave >>> >>> Lasantha Pambagoda wrote: >>>> >>>> Dear Martin, >>>> >>>> Thanks for your link, We have went through the document and here are >>>> the description on each item described in document. >>>> >>>> 1) Turn off logging and devMode - Already done this. >>>> 2) Use the Java Templates - Since we are not using struts tags this is >>>> not applicable (right now we are only using struts only fore >>>> dispatching purpose, our jsp's only use plain "c:out" tags). >>>> 3) Do not use interceptors you do not need. - We are not using any >>>> struts interceptors. >>>> 4) Use the correct HTTP headers (Cache-Control & Expires) - We are not >>>> using browser caching for html generated from JSP. >>>> 5) Copy the static content from the Struts 2 jar when using the Ajax >>>> theme (Dojo) or the Calendar tag - We are not using ajax theme or >>>> calendar tag. >>>> 6) Create a freemarker.properties file in your WEB-INF/classes >>>> directory - We are not using Freemarker >>>> 7) Enable Freemarker template caching - We are not using freemaker >>>> 8) When overriding a theme, copy all necessary templates to the theme >>>> directory - We are not overriding themes. >>>> 9) Do not create sessions unless you need them - We are not creating >>>> sessions using struts2. >>>> 10) When using Freemarker, try to use the Freemarker equivalent rather >>>> than using the JSP tags - We are not using any Freemarker >>>> functionalities. >>>> >>>> As further explanation we are only using sturs2 only for dispatching >>>> purposes, Our action classes are simple like this. >>>> >>>> @Namespace(S2Constants.Namespace.PRIVATE) >>>> @Results ( { >>>> �...@result(name=S2Constants.Result.SUCCESS, >>>> value=S2Constants.Jsp.MY_SUCCESS_JSP_FILE), >>>> �...@result(name=S2Constants.Result.ERROR, >>>> value=S2Constants.Jsp.MY_ERROR_JSP_FILE) >>>> }) >>>> public class MyAction implements ServletRequestAware { >>>> >>>> protected HttpServletRequest request; >>>> >>>> public void setServletRequest(HttpServletRequest request) { >>>> this.request = request; >>>> } >>>> >>>> public String execute() { >>>> return MyRequestHandler.execute(request); >>>> } >>>> } >>>> >>>> And out struts.xml file is like this. >>>> >>>> <struts> >>>> >>>> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> >>>> <constant name="struts.devMode" value="false" /> >>>> </struts> >>>> >>>> Finally here is the web.xml configurations >>>> >>>> >>>> <filter> >>>> <filter-name>struts2</filter-name> >>>> >>>> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> >>>> <init-param> >>>> <param-name>config</param-name> >>>> >>>> <param-value>struts-default.xml,struts-plugin.xml,resources/struts2/struts.xml</param-value> >>>> </init-param> >>>> <init-param> >>>> <param-name>actionPackages</param-name> >>>> >>>> <param-value>com.myapplication.core.web.action</param-value> >>>> </init-param> >>>> </filter> >>>> >>>> >>>> <filter-mapping> >>>> <filter-name>struts2</filter-name> >>>> <url-pattern>*.action</url-pattern> >>>> <dispatcher>REQUEST</dispatcher> >>>> <dispatcher>FORWARD</dispatcher> >>>> </filter-mapping> >>>> >>>> >>>> Additionally we have added two more servers in to our production >>>> servers to avoid overloading. But still its getting overloaded time to >>>> time. Same application before struts2 migration we managed to keep the >>>> system in good health with two servers. (now we are having 4 servers >>>> load balanced by hardware load balancer) >>>> >>>> Really appreciate if anyone can help regarding this struts2 CPU >>>> utilization issue. >>>> >>>> Best Regards >>>> Lasantha >>>> >>>> >>>> On Mon, Jul 13, 2009 at 6:56 PM, Martin Gainty<mgai...@hotmail.com> wrote: >>>>> >>>>> take a look at tuning tips described at >>>>> http://cwiki.apache.org/WW/performance-tuning.html >>>>> >>>>> ping back for questions/concerns >>>>> Martin >>>>> ______________________________________________ >>>>> Verzicht und Vertraulichkeitanmerkung >>>>> >>>>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene >>>>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte >>>>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht >>>>> dient lediglich dem Austausch von Informationen und entfaltet keine >>>>> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von >>>>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> Date: Mon, 13 Jul 2009 06:31:34 -0700 >>>>>> From: tajuddi...@yahoo.com >>>>>> Subject: Re: Migration from Struts1 to Struts2 >>>>>> To: user@struts.apache.org >>>>>> >>>>>> I'm not sure but do pls check out by including the sitemesh-2.3.jar file >>>>>> and xwork-2.0.6.jar file in your library >>>>>> >>>>>> --- On Mon, 7/13/09, Lasantha Pambagoda <lpambag...@gmail.com> wrote: >>>>>> >>>>>> >>>>>> From: Lasantha Pambagoda <lpambag...@gmail.com> >>>>>> Subject: Migration from Struts1 to Struts2 >>>>>> To: user@struts.apache.org >>>>>> Date: Monday, July 13, 2009, 6:33 AM >>>>>> >>>>>> >>>>>> Hi, >>>>>> >>>>>> We have migrated struts1 application to struts2. But now once we >>>>>> deployed the system the CPU is going 90% to 100% and system is getting >>>>>> loaded. In JSP's we are not using struts specific tags or freemaker >>>>>> templates. Our JSP files are just plain jsp files only with >>>>>> requstScope variables. >>>>>> >>>>>> We are using following versions of struts and dependent libraries. >>>>>> >>>>>> struts2-core-2.1.6.jar >>>>>> struts2-codebehind-plugin-2.1.6.jar >>>>>> ognl-2.6.11.jar >>>>>> freemarker-2.3.13.jar >>>>>> >>>>>> Please let me know if we can do any improvement with out switching >>>>>> back to struts1 >>>>>> >>>>>> Kind Regards >>>>>> Lasantha >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>>>> For additional commands, e-mail: user-h...@struts.apache.org >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> _________________________________________________________________ >>>>> Bing™ finds low fares by predicting when to book. Try it now. >>>>> >>>>> http://www.bing.com/travel/deals/airline-ticket-deals.do?form=MTRHPG&publ=WLHMTAG&crea=TXT_MTRHPG_Travel_Travel_TravelDeals_1x1 >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>> For additional commands, e-mail: user-h...@struts.apache.org >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>> For additional commands, e-mail: user-h...@struts.apache.org >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org