上传文件出现SocketTimeoutException: Read timed out

weixin_38061608 2019-05-05 03:40:55
使用多线程模拟并发请求上传图片文件时,一共上传100个文件,每次都有3-4个会出现read timed out. 设置了客户端的连接超时时间和服务器端的tomcat连接数,还有超时时间都没有解决这个问题, 请教下各位大神的思路
...全文
1350 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38127585 2019-05-15
  • 打赏
  • 举报
回复
问题解决,原因是server.maxHttpPostSize=102400000这里设置过大,导致每次请求服务器都会默认占用将近100M的内存空间,并发稍微高一点就会内存溢出
weixin_38080355 2019-05-06
  • 打赏
  • 举报
回复
<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:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,就是被排队的请求数,超过这个数的请求将拒绝连接。  
weixin_38109394 2019-05-06
  • 打赏
  • 举报
回复
客户端的异常信息
weixin_38094491 2019-05-06
  • 打赏
  • 举报
回复
@淘淘我的小宝宝  感觉应该是图片服务器没有响应客户端导致的    
weixin_38087237 2019-05-06
  • 打赏
  • 举报
回复
几次测试之后发现,maxThreads开到5左右没有出现失败问题, 且上传速度也保持在1秒左右. 但是如果开到10就会出现socket read timed out. 按道理这个并发线程开的大一点应该更快才对,为什么反而更慢,而且还会超时呢.

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧