You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "sajan (JIRA)" <ji...@apache.org> on 2008/09/18 20:59:25 UTC
[jira] Created: (WW-2808) Performance issue Struts 2 Tag
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.
[jira] Commented: (WW-2808) Performance issue Struts 2 Tag
Posted by "Philip Luppens (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44754#action_44754 ]
Philip Luppens commented on WW-2808:
------------------------------------
Ok, I found some spare time to try the new java templates.
I used both a 2 and a 14 ui tag jsp page consisting of simple textfields with a simple value from a javabean and dynamic label from a resourcebundle.
Standard tomcat 6.0.14, "-server -Xmx512M -Xms512M" jvm arguments, 10.000 requests, 40 concurrent users. Simple actions, no database, Spring, Sitemesh or anything.
- xhtml: 360req/s (2 tags), 75req/s (14 tags)
- simple (freemarker): 410req/s (2 tags), 100req/s (14 tags)
- simple (java): 700req/s (2 tags), 260req/s (14 tags)
So for a complex xhtml page, I would estimate we'd see 3x speedup if we could create an xhtml/java theme. Seems worth a shot.
> 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.
[jira] Commented: (WW-2808) Performance issue Struts 2 Tag
Posted by "Philip Luppens (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Commented: (WW-2808) Performance issue Struts 2 Tag
Posted by "Paul Johnson (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44949#action_44949 ]
Paul Johnson commented on WW-2808:
----------------------------------
Hi Philip,
We have been experiencing very similar slowdowns and interested in your ideas to boost performance. Any word on the tests you were looking into?
> 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
> Assignee: Philip Luppens
> 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.
[jira] Commented: (WW-2808) Performance issue Struts 2 Tag
Posted by "Lasantha Pambagoda (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46476#action_46476 ]
Lasantha Pambagoda commented on WW-2808:
----------------------------------------
Dear Philip,
We are also facing very high CPU utilization after we migrated from struts1 to strtus2. Did you find out any solution than migrating back to struts1.
> 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
> Assignee: Philip Luppens
> 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.
[jira] Assigned: (WW-2808) Performance issue Struts 2 Tag
Posted by "Philip Luppens (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Philip Luppens reassigned WW-2808:
----------------------------------
Assignee: Philip Luppens
> 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
> Assignee: Philip Luppens
> 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.
[jira] Commented: (WW-2808) Performance issue Struts 2 Tag
Posted by "Philip Luppens (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44787#action_44787 ]
Philip Luppens commented on WW-2808:
------------------------------------
Ok, some more fun. I think I have found a rather drastic solution, but I'm investigating it a bit further to make sure I don't oversimplify it too much.
In 2 weeks I should have something for you to test. Let me know if you're interested in evaluating it.
> 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
> Assignee: Philip Luppens
> 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.