日期:2014-05-18  浏览次数:20705 次

Servlet500并发量时出现的问题
下面是Servlet的代码(很简单):
  public   class   Receive   extends   HttpServlet   {
        public   void   doPost(HttpServletRequest   request,   HttpServletResponse   response)throws   ServletException,   IOException   {

                String   msg=null;
                InputStream   is=request.getInputStream();
                DataInputStream   dis=new   DataInputStream(is);
                msg=dis.readUTF();
                is.close();
                dis.close();
        }
}
WEB服务器:Tomcat5.028
系统:W2003

我用Microsoft   Web   Application   Strees   Tool   做了一个简单的压力测试,并发设为500

出现如下错误:
2007-01-20   15:04:40   StandardWrapperValve[Receive]:   Servlet.service()   for   servlet   Receive   threw   exception
java.net.SocketException:   Connection   reset
at   java.net.SocketInputStream.read(SocketInputStream.java:168)
at   org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:747)
at   org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:777)
at   org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:710)
at   org.apache.coyote.Request.doRead(Request.java:429)
at   org.apache.coyote.tomcat5.InputBuffer.realReadBytes(InputBuffer.java:290)
at   org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:374)
at   org.apache.coyote.tomcat5.InputBuffer.read(InputBuffer.java:305)
at   org.apache.coyote.tomcat5.CoyoteInputStream.read(CoyoteInputStream.java:179)
at   java.io.DataInputStream.readFully(DataInputStream.java:266)
at   java.io.DataInputStream.readUTF(DataInputStream.java:639)
at   java.io.DataInputStream.readUTF(DataInputStream.java:610)
at   com.qytx.servlet.Receive.doPost(Receive.java:31)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at   org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at   or