Tomcat8负载下崩溃-阵列索引边界外异常,标准包装阀

Tomcat8负载下崩溃-阵列索引边界外异常,标准包装阀,tomcat,indexoutofboundsexception,tomcat8,Tomcat,Indexoutofboundsexception,Tomcat8,我的Tomcat8(CentOS)Web服务器今天的高负载即将到期,每小时超过100000个请求 服务器一度崩溃/挂起。我重新启动了服务器,看起来很好,到目前为止还没有再次崩溃 关于它崩溃的原因,我唯一能找到的就是在崩溃的同时将此错误记录到lochost-20016-10-10.log文件中 我不确定这是否是原因,或只是一种影响,但我以前没有看到错误 如果有人看到此错误并知道原因,请分享您的信息 10-Oct-2016 12:25:27.370 SEVERE [http-nio-80-exec-

我的Tomcat8(CentOS)Web服务器今天的高负载即将到期,每小时超过100000个请求

服务器一度崩溃/挂起。我重新启动了服务器,看起来很好,到目前为止还没有再次崩溃

关于它崩溃的原因,我唯一能找到的就是在崩溃的同时将此错误记录到lochost-20016-10-10.log文件中

我不确定这是否是原因,或只是一种影响,但我以前没有看到错误

如果有人看到此错误并知道原因,请分享您的信息

10-Oct-2016 12:25:27.370 SEVERE [http-nio-80-exec-86] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [default] in context with path [] threw exception
 java.lang.ArrayIndexOutOfBoundsException
        at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:322)
        at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:418)
        at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:406)
        at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:97)
        at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:2210)
        at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:2044)
        at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1008)
        at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:398)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:436)
        at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:177)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)

或者,有没有办法限制服务器上的负载?i、 e.当它收到太多请求时会发生什么,而不是崩溃…也许这个链接可能会有所帮助,但这取决于您试图实现的目标。这似乎是tomcat的一个bug,因为我可以找到许多用于java.lang.ArrayIndexOutOfBoundsException的论坛线程。也许您可以在服务器崩溃之前通过服务器日志查找问题。这只是检查在服务器崩溃之前执行的应用程序代码。或者,有没有办法限制服务器上的负载?i、 e.当它收到太多请求时会发生什么,而不是崩溃…也许这个链接可能会有所帮助,但这取决于您试图实现的目标。这似乎是tomcat的一个bug,因为我可以找到许多用于java.lang.ArrayIndexOutOfBoundsException的论坛线程。也许您可以在服务器崩溃之前通过服务器日志查找问题。只需检查服务器崩溃前执行的应用程序代码。