tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jess Holle <>
Subject Re: Slower start with Tomcat 7.0.14 and higher
Date Mon, 20 Jun 2011 20:40:38 GMT
On 6/20/2011 2:41 PM, Jess Holle wrote:
> On 6/20/2011 2:16 PM, Mark Thomas wrote:
>> It should have improved for the majority of use cases in 7.0.14 but at
>> the price of making it worse for JARs in CATALINA_[HOME_BASE]/lib.
>> 7.0.16 should have returned scanning of JARs in CATALINA_[HOME_BASE]/lib
>> to the pre 7.0.14 performance levels.
> We're embedding Tomcat in a larger server process and the base 
> classloader includes a lot more than CATALINA_BASE/lib.  Some of these 
> jars are huge -- and the intent (and effect) is that these are shared 
> by any/all web app instances.
> My initial guess is that the 7.0.16 fix may have overlooked this 
> possibility and be special-cased for jars in CATALINA_BASE/lib vs. 
> applying to any jar coming from the base classloader and a file: (vs. 
>> It looks like there may still be an issue. Profiling data on where the
>> time is being spent would be useful.
> I should be able to drum up such a profile here in a bit...
There's a lot more data in the profile than I really want to post/share, 
but with heavy/frequent (20ms) VisualVM sampling profiler overhead, I 
see that ~31 seconds are spent on ContextConfig.webConfig() -- mostly in 
ContextConfig.processAnnotations(), etc.  I also see ~8 seconds spent on 
TldConfig.execute().  The numbers are clearly inflated from the original 
metrics due to the crude sampling approach, but the overhead is clearly 
in these areas.

Jess Holle

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message