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

Reply via email to