Hi I posted to the list our woes back around Christmas, today they seemed to get worse! Our site seems to have been pushed over today and fails to get back running smoothly after multiple restarts of Tomcat and the IIS in front of it. We are expecting a peak of traffic today, but nothing horrendous.
Setup: TC 4.1.18, IIS5, mod_jk 1.2.25, JDK 1.3.1, Windows 2000 1 LB pointing to 1 worker TC, same server as IIS. Because of 3rd party license issues, we're stuck with using 1 TC only. Usually the tomcat runs with ~ 280 threads, but soon after a bounce its getting 400+ threads, and pretty soon I get errors such as this - [Error] ThreadPool- - Caught exception executing org.apache.jk.common.SocketAcceptor... <java.lang.OutOfMemoryError unable to create new native thread> Shortly after, mod_jk declares the worker to be in an Error state, and all my site serves is the 'Service Temporarily Unavailable' page. The isapi_redirect.log is dumping out hundreds of messages including 'all tomcat instances are busy or in error state'. This is like a couple of minutes after TC is restarted ! worker.properties has worker.wkr.connection_pool_size=200 worker.wkr.connection_pool_timeout=300 - When mod_jk shows a state of ERR/FRC, what exactly does the forced recovery attempt to do ? - Our webapp in TC works hard on startup to cache frequent content into memory. That means bouncing the Tomcat is painful for us during the day. I wonder anectdotally if the FRC messages from mod_jk are causing it hassle ? Moreover in the first ~15minutes of the webapp, response times will be longer than usual. Is this causing mod_jk to give up? If so whats the best tuning approach? - Is there a simple way in mod_jk to throttle traffic incident on tomcat ? - Lastly, can the 'Service Temporarily Unavailable' page be customised ? I'm presuming that its being served by mod_jk internals rather than IIS ? regards Tim