zoukankan      html  css  js  c++  java
  • 解决Tomcat文件上传超时问题.

    现象描述:

      系统支持多文件分片上传,而且支持进度条实时更新。月底当用户集中大批量做文件上传时,文件经常上传到100%就会卡主。按F12打开管理控制台,报错:“XMLHttpRequest:网络错误 0x2eff”;后台日志发现大量异常信息。

    org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly

    解决思路:

      我们使用的上传组件是WebUploader,分片大小是1M,上传最大线程数:4,并且上传过程中还要不断计算分片的MD5值,所以怀疑当月末上传并发量很大的情况下,会对服务器处理和带宽造成不小的压力,单个分片上传的时间可能会超时。所以考虑调整tomcat的配置。

    解决方案:

    在tomcat的server.xml中加入如下配置

       <Connector port="9060" protocol="HTTP/1.1"
                   connectionTimeout="300000" disableUploadTimeout="true"
                   minProcessors="50" maxProcessors="375" acceptCount="500"
                   redirectPort="5443" URIEncoding="UTF-8"/>

    其中:

    connectionTimeout:设置连接的超时值,以毫秒为单位。默认值为60000=60秒

    disableUploadTimeout:允许Servlet容器,正在执行使用一个较长的连接超时值,以使Servlet有较长的时间来完成它的执行,默认值为false

    maxProcessors:最大连接线程数

    acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,就是被排队的请求数,超过这个数的请求将拒绝连接。

  • 相关阅读:
    浅谈T-SQL中的特殊联结
    浅谈T-SQL中的联接查询
    对AccessViolationException的一些总结
    浅谈JavaScript中的定时器
    浅谈跨域
    浅谈JavaScript中的Ajax
    浅谈JavaScript中的能力检测
    c# webConfig中的session超时详细设置
    c# session总结
    重启sql server服务两种方式
  • 原文地址:https://www.cnblogs.com/namelessmyth/p/9762476.html
Copyright © 2011-2022 走看看