[ 
https://issues.apache.org/struts/browse/WW-2808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44736#action_44736
 ] 

Philip Luppens commented on WW-2808:
------------------------------------

I decided to do some quick profiling myself since I have multiple apps hitting 
production in the following months. I've created a minimalistic setup and put 
some Apache Bench runs against it. Note: I haven't optimized anything other 
than the Struts 2 recommendations, standard JVM settings, etc etc .. the point 
is the relative performance, not the absolute one.

Results are as I remembered from some time ago. If I stick to non-form tags, I 
can easily get approx. 1000req/s with a concurrency of 40 users (but with maxed 
CPU), but as soon as there are form tags in play, performance goes down the 
drain and we end up with a max of 150req/s.

Some quick profiling shows that indeed (esp) Freemarker and OGNL are to blame. 
Even with full caching enabled for Freemarker, it seems to hit some serious 
walls here - which kind of surprised me, since I've used Freemarker for a long 
time (as a template view layer) and never had performance issues with it.

I'm now checking out Don's pure Java tags (he reported improvements up to 4x) 
to see if we can get a more performant result. Other tag solutions like GXP and 
Groovy will also be investigated.

> Performance issue Struts 2 Tag
> ------------------------------
>
>                 Key: WW-2808
>                 URL: https://issues.apache.org/struts/browse/WW-2808
>             Project: Struts 2
>          Issue Type: Improvement
>          Components: Value Stack
>    Affects Versions: 2.0.11.2
>         Environment: Solaris , Weblogic 9.2 MP 1 ,Sun One Web Server 6.5
> Strut2 , Spring 2.5 and Sitemesh 
>            Reporter: sajan
>            Priority: Critical
>
> There is huge performance issue and CPU hogging with Struts2 tag , this was 
> observed while rendering JSP. These are some performance results obtained 
> Strut 2 Tag  - With all performance tuning applied as per Struts 2 
> documentation - Freemarker caching etc...
> Load Runner Tool
> 40 users
> 900 hits per second
> 10 transaction per second 
> Results 
> CPU utilization 90% 
> Response 3.5 sec 
> Replaced  some of  Struts2 Tag , with Custom JSP Tags  like (s:label, 
> s:text,s:textfield,s:hidden,s:param) 
> 40 users
> 900 hits per second
> 15 transaction per second 
> Results 
> CPU utilization 70% 
> Response 2.0 sec 
> Some where down the line Struts 2 tag are very cpu hungry , to people to 
> adopt to strut2 framework cpu utilization should be optimized .

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to