I was literally about to post on the same subject. If anyone knows how Tomcat (and in my case Apache 2.0.48+mod_jk2 on Solaris 8) handles interrupted/broken connections this would be helpful.
Just to add my own observations... I can "push over" our test environment simply by hitting refresh (rapidly) for our front page, which does contain some SQL queries. By just one browser continuously interrupting the connections with "refresh", I can watch the Java process in top climb over 80% CPU and the site becomes unresponsive. With the SAME test pointed at JRun 3.0, I cannot push JRun over the edge... Java reaches approximately 40-50% CPU and levels off. What could Tomcat (or at least Tomcat 4.1.30) be doing differently than JRun in handling these adverse threads? Does Tomcat 5 handle this any differently? Thanks On Fri, 2004-03-19 at 08:15, Pepijn Palmans - Kangaroot wrote: > Hello there, > > When I use apache + mod_jk + tomcat I see something \strange\. > > When I connect my browser via apache to a servlet, hit the refresh button > before I got a response this happens: > > - the tcp connection between browser and tomcat server is dropped. > - apache knows that it's thread can be recycled and stops serving this > useless request. > - tomcat doesn't stop processing the request to the servlet. > - a new processor is started. > - the old one exits after a while with a 'Broken pipe' message. > (jara.io.IOException) > > > Is there any way to get the java/tomcat thread stopped when apache detects > that a certain request is no longer needed ? > > At this moment, if I just keep refreshing some servlet my machine gets way > to slow due to the fact that it has to process a lot of useless requests. > > As you can understand, suppose a servlet takes 2 seconds to process, the > more I hit refresh, the slower the processing of a thread becomes, and the > more people get fed up waiting for a response and hitting refresh, and the > slower the tomcat server gets .... After a while, the tomcat doesn't even > respond anymore. > > I found some solution in tuning the min/max processors in server.xml, > tuning the acceptCount etc... but I think the main solution lies in the > way tomcat handles the 'no longer needed' requests. > > Maybe another connector between apache and tomcat does tell tomcat it can > stop the request ? As far as I know the ajp13(mod_jk) protocol is an > asynchronous protocol. Is that correct ? > > > Regards, > > Pepijn Palmans > Managing Director > > Kangaroot Linux Solutions > Grote Steenweg 91 > 2600 Berchem, Antwerpen > Tel: +32 3/286.17.17 > Fax: +32 3/281.23.49 > Email: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
