axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ronald Brindl (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AXIS2-5118) In high load scenarios with many threads, the call to Introspector.getBeanInfo(Class,Class) causes high synchronization resulting in system stall
Date Thu, 11 Aug 2011 13:17:27 GMT
In high load scenarios with many threads, the call to Introspector.getBeanInfo(Class,Class)
causes high synchronization resulting in system stall
-------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: AXIS2-5118
                 URL: https://issues.apache.org/jira/browse/AXIS2-5118
             Project: Axis2
          Issue Type: Improvement
          Components: adb
    Affects Versions: 1.5.4
         Environment: Tomcat 7 with axis2 webservices
            Reporter: Ronald Brindl


I have a high load scenario, where a Clustered Web frontend does Webservice calls to a Backend
Webservices. 
There are around 200 Threads handling the webservices.
The CPU load of the machine went to near zero.
Using dynatrace, we realized, that all the calls went through BeanUtils.getPropertyQnameList,
which in turn calls Introspector.getBeanInfo(beanClass, beanClass.getSuperclass());
This again calls WebAppClassLoader.loadClass(String name, boolean resolve), which is synchronized.

I fixed this problem by modifying BeanUtil.getPropertyQnameList so that it caches BeanInfo
objects.


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message