On Apr 2, 2008, at 2:25 PM, Knut Forkalsrud wrote:

> This was with version 3.1.4, I haven't tried 3.1.5 yet.

3.1.5 is interesting, since it should handle the null classes faster  
(basically, 3.1.5 pre-analyzes all the jars). The locking in 3.1.5 is  
the same as 3.1.4.

I've updated the locking for the next snapshot, since it was a little  
too broad.  It would be interesting to see if there's a performance  
difference for your app.

-- Scott

>
>
> -Knut
>
>
>
> Knut Forkalsrud wrote:
>>
>> Just a comment on this, we found similar problems not too long ago.
>> Performance under load turned out to be limited by the synchronized
>> lock in EnvironmentClassloader.  So our fancy new 8 core systems
>> suddenly were reduced to single thread performance.  Some profiling
>> highlighted two major offenders.
>>
>>  - Hibernate's "classic" HQL query parser (which is a legacy thing,  
>> the
>>    default Hibernate configuration no longer uses it).
>>  - Beanshell.  We had a lot of beanshell interpreters running in  
>> the system.
>>
>> The common denominator for these two was that they do a lot of  
>> lookups
>> (Class.forName()) on names that are not actual class names.  We ended
>> up (among other counter measures) writing our own class loader to  
>> cache
>> all sorts of class lookups, blatantly violating all sorts of class  
>> loading rules.
>> We will probably never be able to reload our app cleanly, but  
>> performance
>> improved at least 10x.
>>
>> -Knut
>
> _______________________________________________
> resin-interest mailing list
> resin-interest@caucho.com
> http://maillist.caucho.com/mailman/listinfo/resin-interest



_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to