a few weeks ago I posted the same problem with struts2 concerning poor
OGNL performance. Absolutely none of the advice given has helped. The
Application I wrote in Struts2 needs to handle and render large lists
displayed in rather complex tables. I have a similar application with
similarly complex data written in Struts 1 which is way faster. I did
all the performance tweaks, using latest versions of ognl, freemarker
and so on and so forth. I just sadly boils down to one "fact" that
OGNL just isn't suitable to write high performance web-applications
required to render and handle large amounts of complex data per
request.

I'm using EJB 2.1, JBOSS 4.2.2 with tomcat 5.5, JDK 1.6.0_07 Struts2
on a Windows 2003 Server machine with 8 GB Ram and 4 Opteron 3.6 GHz
CPUs with round about 60-80% CPU utilization while rendering JSPs with
OGNL.

The sad end of the story was, I had to revert to Struts1

--- Joe

On Sat, Sep 20, 2008 at 8:51 PM, Leonidas Papadakis <[EMAIL PROTECTED]> wrote:
> Have you deployed your application on another platform ?
>
> Is it the same on your development system ?
>
> Are you calling the same action every time and what is this action doing ?
>
>
> sajanv007 wrote:
>>
>> sOME MORE TRACES
>> CPU SAMPLES BEGIN (total = 8868) Sat Sep  6 12:29:17 2008
>> rank   self  accum   count trace method
>>   1 20.44% 20.44%    1813 303423 ognl.SimpleNode.evaluateGetValueBody
>>   2 12.55% 33.00%    1113 300397 java.net.PlainSocketImpl.socketAccept
>>   3  8.37% 41.36%     742 300856 java.net.SocketInputStream.socketRead0
>>   4  7.81% 49.18%     693 303426 ognl.Ognl.getValue
>>   5  4.52% 53.70%     401 303853 ognl.ASTProperty.getValueBody
>>   6  4.18% 57.88%     371 302117 java.net.PlainDatagramSocketImpl.receive0
>>   7  4.18% 62.07%     371 301880 java.net.SocketInputStream.socketRead0
>>
>> sajanv007 wrote:
>>
>>>
>>> These are HProf results
>>>
>>> CPU SAMPLES BEGIN (total = 3267) Sat Sep  6 12:27:45 2008
>>> rank   self  accum   count trace method
>>>   1 15.70% 15.70%     513 300397 java.net.PlainSocketImpl.socketAccept
>>>   2 10.47% 26.17%     342 300856 java.net.SocketInputStream.socketRead0
>>>   3  5.23% 31.40%     171 302117
>>> java.net.PlainDatagramSocketImpl.receive0
>>>   4  5.23% 36.64%     171 301880 java.net.SocketInputStream.socketRead0
>>>   5  5.23% 41.87%     171 301035
>>> weblogic.socket.DevPollSocketMuxer.doPoll
>>>   6  3.28% 45.15%     107 303426 ognl.Ognl.getValue
>>>   7  2.48% 47.63%      81 301738 sun.reflect.Reflection.getCallerClass
>>>   8  1.99% 49.62%      65 300923 java.lang.String.intern
>>>   9  1.87% 51.48%      61 303423 ognl.SimpleNode.evaluateGetValueBody
>>>  10  1.81% 53.29%      59 300505 java.util.zip.ZipFile.getEntry
>>>  11  1.56% 54.85%      51 301639 java.lang.Throwable.fillInStackTrace
>>>  12  1.41% 56.26%      46 303434 java.util.ResourceBundle.getObject
>>>  13  1.16% 57.42%      38 301739 java.lang.Object.clone
>>>  14  1.13% 58.56%      37 303267 ognl.OgnlRuntime.getHandler
>>>  15  1.01% 59.57%      33 301953 java.lang.Object.hashCode
>>>
>>>
>>> Al Sutton wrote:
>>>
>>>>
>>>> Do the ideas listed at
>>>>
>>>> http://java.sun.com/developer/technicalArticles/Programming/HPROF.html
>>>>
>>>> shed any light on it?
>>>>
>>>> sajanv007 wrote:
>>>>
>>>>>
>>>>> I am using the latest Freemarker version 2.3.13 and Spring 2.5 OGNL
>>>>> 2.7.2
>>>>> with Javaassist .
>>>>>
>>>>> Al Sutton wrote:
>>>>>
>>>>>>
>>>>>> Replace your freemarker lib with 2.3.13 or later. Prior releases had a
>>>>>> concurrency performance issue.
>>>>>>
>>>>>> Al.
>>>>>>
>>>>>> sajanv007 wrote:
>>>>>>
>>>>>>>
>>>>>>>  It is a solaris box and has 16 GB memory and 4 CPU it is high end
>>>>>>> server
>>>>>>> class machine . Some how I suspect it is the OGNL or Freemarker
>>>>>>> rendering
>>>>>>> issue .
>>>>>>>
>>>>>>> Jim Kiley wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> What kind of server are you using here, how much memory, what CPU --
>>>>>>>> when
>>>>>>>> we
>>>>>>>> are getting to CPU utilization, all of these issues are relevant.
>>>>>>>>
>>>>>>>> On Thu, Sep 18, 2008 at 3:43 PM, sajanv007 <[EMAIL PROTECTED]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> I have tried all the tuning parameters mentioned in the link
>>>>>>>>> somehow
>>>>>>>>> CPU
>>>>>>>>> utilization is always 80% ,I observed that it takes tags are
>>>>>>>>> rendered
>>>>>>>>> from
>>>>>>>>> free marker cache but still the cpu 80-90% .
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>>
>>>>>>>>> Sajan
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Nils-Helge Garli wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Maybe this can help:
>>>>>>>>>> http://struts.apache.org/2.0.11.2/docs/performance-tuning.html
>>>>>>>>>>
>>>>>>>>>> Nils-H
>>>>>>>>>>
>>>>>>>>>> On Thu, Sep 18, 2008 at 9:11 PM, sajanv007
>>>>>>>>>> <[EMAIL PROTECTED]>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 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 .
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Did anybody come across on how to over come this problem
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> View this message in context:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> http://www.nabble.com/Performance-and-High-CPU-utilization-tp19559123p19559123.html
>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Sent from the Struts - User mailing list archive at Nabble.com.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> View this message in context:
>>>>>>>>>
>>>>>>>>> http://www.nabble.com/Performance-and-High-CPU-utilization-tp19559123p19560223.html
>>>>>>>>> Sent from the Struts - User mailing list archive at Nabble.com.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Jim Kiley
>>>>>>>> Technical Consultant | Summa
>>>>>>>> [p] 412.258.3346 [m] 412.445.1729
>>>>>>>> http://www.summa-tech.com
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to