java - Apache Tomcat 将使用非阻塞 http 协议(protocol)关闭文件下载连接

标签 java tomcat

默认情况下,server.xml 中的协议(protocol)配置为 protocol="HTTP/1.1"。 对于较新的 tomcat 版本,这将尽可能使用非阻塞协议(protocol)。

问题: 使用默认设置设置 Tomcat (8.0.28)。 在网络应用程序中复制文件,例如webapps/root 并以有限的速度下载文件以模拟缓慢的调制解调器下载。

wget http://xxx.xxx.xxx.xxx:8080/xxxxxxx/7.zip --limit-rate=1k

连接总是会在 6 分 24 秒后关闭

Saving to: ‘7.zip’
7.zip               0%[                      ] 767.99K  1.00KB/s   in 6m 24s
2015-10-28 17:27:39 (1024 B/s) - Connection closed at byte 786426. Retrying.

如果我将协议(protocol)更改为(阻塞):

  protocol="org.apache.coyote.http11.Http11Protocol"

一切正常,下载完成速度较慢。

可能是什么问题?

最佳答案

这是新的 apache 协议(protocol)的一个已知限制。

在低于 64kb/秒的情况下稳定连接的唯一解决方案是更改设置: socket.txBufSize(较小) 和连接超时(更高)。 有关更多详细信息,请检查: https://bz.apache.org/bugzilla/show_bug.cgi?id=58565

关于java - Apache Tomcat 将使用非阻塞 http 协议(protocol)关闭文件下载连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33397442/

相关文章:

web-services - Tomcat 是否支持 TLS v1.2?

java - Tomcat服务器远程重新部署

java - HTTP 状态 404 – 在 rest api 响应中未找到错误

java - 如何删除自动 Axis 标签拉伸(stretch)?

java servlet 转发 cookie

java - 找不到 MongoRepository (Spring Boot) 的 bean

java - 为什么从 z3 java API 获取查询结果比直接从 z3 获取查询结果慢?

tomcat - Grails 2.5.0 在部署到 tomcat 时不使用我的 lib/jars

java - 不同屏幕尺寸的不同位置

java - 缺少 Pivotal Tomcat Server Developer Edition v3.0-config