上传文件出现SocketTimeoutException: Read timed out
使用多线程模拟并发请求上传图片文件时,一共上传100个文件,每次都有3-4个会出现read timed out. 设置了客户端的连接超时时间和服务器端的tomcat连接数,还有超时时间都没有解决这个问题, 请教下各位大神的思路
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
问题解决,原因是server.maxHttpPostSize=102400000这里设置过大,导致每次请求服务器都会默认占用将近100M的内存空间,并发稍微高一点就会内存溢出
客户端的异常信息
@淘淘我的小宝宝 感觉应该是图片服务器没有响应客户端导致的
maxThreads默认是200,能否dump一下超时的堆栈信息
几次测试之后发现,maxThreads开到5左右没有出现失败问题, 且上传速度也保持在1秒左右. 但是如果开到10就会出现socket read timed out. 按道理这个并发线程开的大一点应该更快才对,为什么反而更慢,而且还会超时呢.