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

Reply via email to