tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Konstantin Kolinko <>
Subject Re: Severe 7.0.47 startup performance regression
Date Thu, 05 Dec 2013 08:18:25 GMT
2013/12/5 David Rees <>:
> Since upgrading to 7.0.47 from 7.0.42, I've seen a very severe
> performance hit during startup.
> One Tomcat instance with a lot of webapps slowed down from ~33 seconds
> to ~180 seconds. It appears to be related to jar-scanning - If I
> change'
> tomcat.util.scan.DefaultJarScanner.jarsToSkip to *.jar, startup
> performance is actually about 10% better than before, but with the
> expected app-breakage. If I go and modify jarsToSkip to manually
> exclude only the jars I know should be excluded, performance is near
> normal - about 10-15% worse than 7.0.42 which is acceptable but
> obviously could still be better.
> I've reviewed the changelog between 7.0.42 and 7.0.47, but can't find
> anything that might cause this.
> All the deployed apps are using servlet api 2.5.
> I've reviewed the FasterStartUp startup wiki and the apps already use
> metadata-complete="true" in the web.xml.


Remove the tomcat7-websocket.jar library if you do not need it.  This
library (added in 7.0.47, a JSR-356 Java WebSocket 1.0 implementation)
has a ServletContainerInitializer and thus forces Tomcat to perform
annotation scanning.

If you read the "FasterStartUp" page carefully, it is explained there.

> Any other suggestions? Update the apps to servlet api 3.0 and put in
> an empty <absolute-ordering /> element?
> Is there a way to get the scanners to log whether or not a scan found
> anything so they can be added to the appropriate jarsToSkip parameter?
> I've only found that the TLD scanner does this unless I'm missing
> something.
> Any other ideas?

Best regards,
Konstantin Kolinko

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message