I've been testing Tomcat 3.2.2b3 and Apache 1.3 on Solaris, connected with
mod_jk.  Things are generally working, but there is a serious problem that
occurs under load.

The problem is that certain Apache children get stuck talking to Tomcat.  The
children are always requesting JSP pages.  Using the Apache status display, a
stuck child looks like:

141-0 29388 0/1/1 W 0.00 1092 0 0.0 0.01 0.01 154.x.x.x bingoe01.mysite.com
GET /ad/loading-applet.jsp?tabl=1&site=pogo&scrn=motormind&anam 

It is not uncommon to have half of the Apache children stuck like this.  On
the tomcat side, the threads appear at this location:

"Thread-256" (TID:0xd020a0, sys_thread_t:0xd01fd8, state:R, thread_t: t@263,
threadID:0x63cb1dd8, stack_bottom:0x63cb2000, stack_si
ze:0x20000) prio=5

[1] java.net.SocketInputStream.socketRead(Native Method)
[2] java.net.SocketInputStream.read(SocketInputStream.java:85)
[3]
org.apache.tomcat.service.connector.TcpConnector.receiveFully(TcpConnector.java:148)
[4]
org.apache.tomcat.service.connector.TcpConnector.receive(TcpConnector.java:118)
[5]
org.apache.tomcat.service.connector.Ajp13ConnectionHandler.processConnection(Ajp13ConnectionHandler.java:109)
[6] org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:393)
[7] org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:475)
[8] java.lang.Thread.run(Thread.java:478)

Generally, the number of threads inside receiveFully matches the number of
stuck Apache children.

Losing Apache children like this eventually starves the server of ability to
do useful work, even though there is a lot of idle time on the machine.  Is
this a known issue?

Thanks,
Bill Lipa


__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/

Reply via email to