On Wed, Jul 16, 2014 at 8:00 AM, Brandon M. Wagner <bran...@tripletech.net> wrote:
> I'm having an issue with Tomcat 7.0.54 on a Windows Server 2008 machine > (8GB of RAM, Dual AMD Opteron 8 core CPUs 2.0Ghz) where the .WAR file is > taking 45 minutes to an hour to unpack and deploy. I can unpack the same > .WAR file on my development machine (Windows 7, 16GB of RAM, Intel i7 870 > 2.93Ghz) in less than 2 minutes. > > Something troubling I'm noticing on the production machine is that the CPU > usage will hover at around 13%. I've tried setting affinity and priority, > but still Tomcat is only using the 13% of the CPU. > > Some more information about the production machine: > -It is disconnected from internet (only intranet access) > -It has been rebuilt because of the slow deployment issue (was on > physical box with server 2003 same specs, now on VMWare instance with 2008) > > Information about the .WAR file: > - .WAR is about 28MB > - expands to 260MB > > A couple suggestions... 1.) While you're waiting for the app to deploy take some thread dumps. I'd take several groups of two or three thread dumps, with 10 - 15 seconds between each thread dump and maybe 5 minutes between each group. This should give you an idea as to what happening on the server at various points in time. Look for long running threads, which could indicate a problem. More info here. http://wiki.apache.org/tomcat/HowTo#How_do_I_obtain_a_thread_dump_of_my_running_webapp_.3F http://wiki.apache.org/tomcat/HowTo#How_do_I_read_a_Java_thread_dump_.3F 2.) You could deploy an exploded WAR directory instead of your WAR file. To do this, you'd just want to extract the files manually and then move them into the "webapps" directory on your server. That would allow you to separate the actual expansion from the time it takes to deploy and start your application. Dan