So I was working on getting tomcat 7.0.54 to run my app. I setup a
configuration with 725 virtual hosts. Startup time was around 700+
seconds. For this app, there's maybe two dozen jars in
$CATALINA_BASE/lib, and one 1.2MB jar in context/WEB-INF/lib. It is
running under the security manager.
Setting startStopThreads="4" at the Engine level cut that down to around
300 seconds. startStopThreads higher than 4 actually performed worse.
Adding meta-complete to web.xml took it down to around 260 seconds.
Adding <absolute-ordering /> to web.xml with startStopThreads="0" took
it down to 39 seconds. I admit, I'm kind of curious as to what it is
that has to be done by this absolute-ordering thing that is so resource
intensive it has such a massive impact on start times. I've read through
the docs on optimizing startup, and I'm still not seeing it.
I suppose I'm trying to understand how the impact of this so
dramatically outweighs my app's startup, which includes loading the jar,
initializing a lot of classes, connecting to the database, starting
background threads, etc. It just seems really odd.
Can anyone help me understand this?
--
George Sexton
*MH Software, Inc.*
Voice: 303 438 9585
http://www.mhsoftware.com