我正在使用具有 Tomcat Servlet Container 5.5 的 JBoss 4.0.4 GA。我也有 IIS 6.0 重定向到这个 JBoss。(通过 IIS tomcat 连接器,在 IIS 中用作 ISAPI 过滤器)。一切正常,按照描述配置工作人员。
这是连接器的一个 workers.properties 文件:
#
# Defining a worker named ajp13 and of type ajp13
# Note that the name and the type do not have to match.
#
worker.jboss0_ajp13.port=8009
worker.jboss0_ajp13.type=ajp13
worker.jboss0_ajp13.host=localhost
worker.jboss0_ajp13.socket_keepalive=1
worker.jboss0_ajp13.socket_timeout=300
但是当通过 IIS(端口 80)连接到应用程序时,对于 HTTP 请求的每个完成的 HTTP 响应,套接字都会关闭(在 TCP 层发送 FIN)。这会导致严重的减速,因为应用程序在 WAN 上运行。(每关闭一个socket,需要再建立一个,耗时500ms)。
当直接连接到 JBoss Web 服务器时不会发生这种情况,当连接到 IIS 的同一个 WebServer 实例上的不同虚拟目录时也不会发生这种情况(即也配置了 IIS 中的 Keep-Alive)。
最新版本的 tomcat IIS 连接器会发生这种情况。
不知道是不是连接器有bug,还是我的配置有问题?
在此先感谢,
亨利。