[ 
https://issues.apache.org/jira/browse/OGNL-247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lukasz Lenart closed OGNL-247.
------------------------------

    Resolution: Duplicate

Please do not duplicate the reports

> Major performance Bootle neck under heavy load
> ----------------------------------------------
>
>                 Key: OGNL-247
>                 URL: https://issues.apache.org/jira/browse/OGNL-247
>             Project: Commons OGNL
>          Issue Type: Bug
>          Components: PropertyAccessors
>    Affects Versions: 3.0
>         Environment: Struts2, Jettym, Windows
>            Reporter: Lokesha
>              Labels: performance
>             Fix For: 3.0
>
>
>  was testing one of my high profile application built using spring,hibernate 
> and struts2 using JMeter with 250 con current users with ramp up time of 2 
> seconds. The application was responding back at an average 15 seconds. When i 
> checked my log it seems the database and related operation took 3 seconds and 
> rest all went in struts2 actions and it's processing. The difference is quite 
> huge. I have already upgraded the application to OGNL 3.0.6 and have followed 
> most of the guidelines provided in the link 
> http://struts.apache.org/development/2.x/docs/performance-tuning.html
> Has anyone faced the similar issues and what's the solution to make it much 
> quicker(It is quite unbelievable that database with thousands of records 
> responded in less than 3 seconds where as struts2 is taking 12 seconds).
> More Update: I just collected Struts2 Logs in TRACE mode. Just have a look at 
> the OGNL and property conversions. It takes close to 18 seconds and the 
> overall stack execution is 23 Seconds)..
> [2014-06-05T11:43:45,184+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue 
> [target=[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143bc1e6, 
> com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=struts] 
> [2014-06-05T11:43:45,647+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue 
> [target=[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143bc1e6, 
> com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=org] 
> [2014-06-05T11:43:46,182+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor - Entering 
> setProperty(ognl.OgnlContext@7bda4cad,org.apache.struts2.util.AttributeMap@152f16eb,newRow,true)
>  [2014-06-05T11:43:46,540+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor - Entering 
> getProperty (ognl.OgnlContext@53e81e35,{cityId=1, localityId=1, 
> localityName=Marathahalli},cartSize) [2014-06-05T11:43:47,342+0530] DEBUG 
> [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue [target={cityId=1, localityId=1, 
> localityName=Marathahalli}, property=cartSize] [2014-06-05T11:43:47,734+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor - Entering 
> getProperty 
> (ognl.OgnlContext@31d96651,org.apache.struts2.util.AttributeMap@53ddcdc7,templateDir)
>  [2014-06-05T11:43:48,518+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue 
> [target=[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143bc1e6, 
> com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=templateDir] 
> [2014-06-05T11:43:49,068+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue [target=org.apache.struts2.util.AttributeMap@53ddcdc7, 
> property=templateDir] [2014-06-05T11:43:49,673+0530] DEBUG 
> [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XWorkConverter - 
> Retrieving convert for class [class 
> com.opensymphony.xwork2.util.CompoundRoot] and property [(null)] 
> [2014-06-05T11:43:49,942+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - field-level type 
> converter for property [null] = none found [2014-06-05T11:43:50,536+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - global-level type 
> converter for property [null] = none found [2014-06-05T11:43:50,748+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling back to 
> default type converter 
> [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@2307dd5c] 
> [2014-06-05T11:43:51,355+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue 
> [target=[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143bc1e6, 
> com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=cart] 
> [2014-06-05T11:43:51,593+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - Retrieving convert 
> for class [class com.opensymphony.xwork2.util.CompoundRoot] and property 
> [(null)] [2014-06-05T11:43:52,096+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - field-level type 
> converter for property [null] = none found [2014-06-05T11:43:52,297+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - global-level type 
> converter for property [null] = none found [2014-06-05T11:43:52,965+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling back to 
> default type converter 
> [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@2307dd5c] 
> [2014-06-05T11:43:53,173+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor - Entering 
> getProperty 
> (ognl.OgnlContext@31d96651,org.apache.struts2.util.AttributeMap@53ddcdc7,templateDir)
>  [2014-06-05T11:43:53,760+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue 
> [target=[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143bc1e6, 
> com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=templateDir] 
> [2014-06-05T11:43:53,761+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue [target=org.apache.struts2.util.AttributeMap@53ddcdc7, 
> property=templateDir] [2014-06-05T11:43:53,769+0530] DEBUG 
> [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XWorkConverter - 
> Retrieving convert for class [class 
> com.opensymphony.xwork2.util.CompoundRoot] and property [(null)] 
> [2014-06-05T11:43:54,020+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - field-level type 
> converter for property [null] = none found [2014-06-05T11:43:54,515+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - global-level type 
> converter for property [null] = none found [2014-06-05T11:43:54,739+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling back to 
> default type converter 
> [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@2307dd5c] 
> [2014-06-05T11:43:54,740+0530] DEBUG [qtp2020886105-153] 
> org.apache.struts2.components.UIBean - Rendering template /template/jquery/a 
> [2014-06-05T11:43:55,631+0530] DEBUG [qtp2020886105-153] 
> org.apache.struts2.components.template.FreemarkerTemplateEngine - Rendering 
> template /template/jquery/a.ftl [2014-06-05T11:43:55,633+0530] DEBUG 
> [qtp2020886105-153] com.opensymphony.xwork2.util.LocalizedTextUtil - Unable 
> to find text for key ' Cart(0)' in class 
> 'com.tastyfood.foody.action.vendor.MealAnnouncementAction' and locale 'en_US' 
> [2014-06-05T11:43:56,253+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullMethodResult [2014-06-05T11:43:57,026+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - Retrieving convert 
> for class [class com.opensymphony.xwork2.util.CompoundRoot] and property 
> [(null)] [2014-06-05T11:43:57,266+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - field-level type 
> converter for property [null] = none found [2014-06-05T11:43:57,877+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - global-level type 
> converter for property [null] = none found [2014-06-05T11:43:57,878+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling back to 
> default type converter 
> [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@2307dd5c] 
> [2014-06-05T11:43:57,878+0530] WARN [qtp2020886105-153] 
> org.apache.struts2.util.TextProviderHelper - The first TextProvider in the 
> ValueStack (com.tastyfood.foody.action.vendor.MealAnnouncementAction) could 
> not locate the message resource with key ' Cart(0)' 
> [2014-06-05T11:43:58,185+0530] WARN [qtp2020886105-153] 
> org.apache.struts2.util.TextProviderHelper - The default value expression ' 
> Cart(0)' was evaluated and did not match a property. The literal value ' 
> Cart(0)' will be used. [2014-06-05T11:43:58,780+0530] DEBUG 
> [qtp2020886105-153] 
> com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor - Entering 
> getProperty 
> (ognl.OgnlContext@24b0e8e3,org.apache.struts2.util.AttributeMap@46ea4f39,templateDir)
>  [2014-06-05T11:43:59,058+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue 
> [target=[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143bc1e6, 
> com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=templateDir] 
> [2014-06-05T11:43:59,668+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue [target=org.apache.struts2.util.AttributeMap@46ea4f39, 
> property=templateDir] [2014-06-05T11:43:59,913+0530] DEBUG 
> [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XWorkConverter - 
> Retrieving convert for class [class 
> com.opensymphony.xwork2.util.CompoundRoot] and property [(null)] 
> [2014-06-05T11:44:00,513+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - field-level type 
> converter for property [null] = none found [2014-06-05T11:44:00,779+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - global-level type 
> converter for property [null] = none found [2014-06-05T11:44:01,358+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling back to 
> default type converter 
> [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@2307dd5c] 
> [2014-06-05T11:44:01,637+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue 
> [target=[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143bc1e6, 
> com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=cart] 
> [2014-06-05T11:44:02,165+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - Retrieving convert 
> for class [class com.opensymphony.xwork2.util.CompoundRoot] and property 
> [(null)] [2014-06-05T11:44:02,165+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - field-level type 
> converter for property [null] = none found [2014-06-05T11:44:02,165+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - global-level type 
> converter for property [null] = none found [2014-06-05T11:44:02,165+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling back to 
> default type converter 
> [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@2307dd5c] 
> [2014-06-05T11:44:02,168+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor - Entering 
> getProperty 
> (ognl.OgnlContext@24b0e8e3,org.apache.struts2.util.AttributeMap@46ea4f39,templateDir)
>  [2014-06-05T11:44:02,404+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue 
> [target=[com.tastyfood.foody.action.vendor.MealAnnouncementAction@143bc1e6, 
> com.opensymphony.xwork2.DefaultTextProvider@77763f2a], property=templateDir] 
> [2014-06-05T11:44:03,241+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler - Entering 
> nullPropertyValue [target=org.apache.struts2.util.AttributeMap@46ea4f39, 
> property=templateDir] [2014-06-05T11:44:03,487+0530] DEBUG 
> [qtp2020886105-153] com.opensymphony.xwork2.conversion.impl.XWorkConverter - 
> Retrieving convert for class [class 
> com.opensymphony.xwork2.util.CompoundRoot] and property [(null)] 
> [2014-06-05T11:44:03,487+0530] DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - field-level type 
> converter for property [null] = none found [2014-06-05T11:44:03,488+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - global-level type 
> converter for property [null] = none found [2014-06-05T11:44:03,488+0530] 
> DEBUG [qtp2020886105-153] 
> com.opensymphony.xwork2.conversion.impl.XWorkConverter - falling back to 
> default type converter 
> [com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter@2307dd5c] 
> [2014-06-05T11:44:03,488+0530] DEBUG [qtp2020886105-153] 
> org.apache.struts2.components.UIBean - Rendering template 
> /template/jquery/a-close [2014-06-05T11:44:03,488+0530] DEBUG 
> [qtp2020886105-153] 
> org.apache.struts2.components.template.FreemarkerTemplateEngine - Rendering 
> template /template/jquery/a-close.ftl [2014-06-05T11:44:03,490+0530] INFO 
> [qtp2020886105-153] Struts Action Logger - out put of the action class 
> com.tastyfood.foody.action.vendor.MealAnnouncementAction is success 
> ****************************************** ENDING THREAD 
> EXECUTION************* [2014-06-05T11:44:03,495+0530] DEBUG 
> [qtp2020886105-153] Struts Action Logger - After calling action: 
> com.tastyfood.foody.action.vendor.MealAnnouncementAction Time taken: 22553 ms
> Thanks



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to