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


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.


resin-interest mailing list

Reply via email to