I just tried running the apache ab utility against a pretty basic
screen where there is no database access and no authentication
required, but I get the appended stack trace for each of the
_successive requests, yet if I request 10 pages in _parallel_, Turbine
gives no such exceptions.
To my naiive understanding, the problem appears to be due to each
Turbine request receiving the next request before it can reply to the
previous request, and/or the requestor is no longer around to receive
the output. At the very least, I wonder if the exception should be
trapped somewhere (Turbine.doGet()?) instead of just dumping
stacktraces to the long.
My two ab command lines are
/usr/sbin/ab -n 100 -c 10 http://maya:8080/gate/servlet/gate/
and
/usr/sbin/ab -c 10 http://maya:8080/gate/servlet/gate/
and the stack trace (repeated 10 times) is
java.io.IOException: Broken pipe
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(SocketOutputStream.java:95)
at org.apache.tomcat.modules.server.Http10.doWrite(Http10.java:388)
at
org.apache.tomcat.modules.server.HttpResponse.doWrite(Http10Interceptor.java:343)
at org.apache.tomcat.core.OutputBuffer.realWrite(OutputBuffer.java:174)
at org.apache.tomcat.core.OutputBuffer.flushBytes(OutputBuffer.java:455)
at org.apache.tomcat.core.OutputBuffer.writeBytes(OutputBuffer.java:249)
at org.apache.tomcat.core.IntermediateOutputStream.write(OutputBuffer.java:566)
at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java(Compiled
Code))
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:250)
at org.apache.tomcat.core.WriteConvertor.flush(OutputBuffer.java:519)
at org.apache.tomcat.core.OutputBuffer.cWrite(OutputBuffer.java:422)
at org.apache.tomcat.core.OutputBuffer.flushChars(OutputBuffer.java:385)
at org.apache.tomcat.core.OutputBuffer.flush(OutputBuffer.java:400)
at org.apache.tomcat.core.OutputBuffer.close(OutputBuffer.java:391)
at
org.apache.tomcat.facade.ServletWriterFacade.close(ServletWriterFacade.java:117)
at org.apache.turbine.Turbine.doGet(Turbine.java:512)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:500)
at org.apache.tomcat.core.Handler.service(Handler.java:223)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:448)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:826)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:739)
at
org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:150)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:430)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:505)
at java.lang.Thread.run(Thread.java:498)
--
Gary Lawrence Murphy <[EMAIL PROTECTED]> TeleDynamics Communications Inc
Business Innovations Through Open Source Systems: http://www.teledyn.com
"Computers are useless. They can only give you answers."(Pablo Picasso)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]