解决Tomcat文件上传超时问题.
現(xiàn)象描述:
系統(tǒng)支持多文件分片上傳,而且支持進(jìn)度條實時更新。月底當(dāng)用戶集中大批量做文件上傳時,文件經(jīng)常上傳到100%就會卡主。按F12打開管理控制臺,報錯:“XMLHttpRequest:網(wǎng)絡(luò)錯誤 0x2eff”;后臺日志發(fā)現(xiàn)大量異常信息。
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,上傳最大線程數(shù):4,并且上傳過程中還要不斷計算分片的MD5值,所以懷疑當(dāng)月末上傳并發(fā)量很大的情況下,會對服務(wù)器處理和帶寬造成不小的壓力,單個分片上傳的時間可能會超時。所以考慮調(diào)整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:設(shè)置連接的超時值,以毫秒為單位。默認(rèn)值為60000=60秒
disableUploadTimeout:允許Servlet容器,正在執(zhí)行使用一個較長的連接超時值,以使Servlet有較長的時間來完成它的執(zhí)行,默認(rèn)值為false
maxProcessors:最大連接線程數(shù)
acceptCount:指定當(dāng)所有可以使用的處理請求的線程數(shù)都被使用時,可以放到處理隊列中的請求數(shù),就是被排隊的請求數(shù),超過這個數(shù)的請求將拒絕連接。
轉(zhuǎn)載于:https://www.cnblogs.com/namelessmyth/p/9762476.html
總結(jié)
以上是生活随笔為你收集整理的解决Tomcat文件上传超时问题.的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 冯诺依曼计算机的组成
- 下一篇: 【BZOJ1485】[HNOI2009]