我们目前使用硬件负载平衡器,然后到Apache,然后通过AJP连接器到Tomcat 5.5。
我们已经决定抛弃阿帕奇出于各种原因 – 在我们目前的系统,它没有提供任何优势。
但是,当我看到在我们这样做的时候发送的头文件时,当你使用tomcat的http连接器时,“Keep-Alive:timeout = 15 max = 96”
有趣的是,我找不到关于tomcat5.5的“keepalivetimeout”的文档,但我可以用tomcat6。 但是我也找不到certificatetomcat5.5不支持这个设置。
这是我的连接器:
<Connector port="8090" maxHttpHeaderSize="8192" maxThreads="400" minSpareThreads="150" maxSpareThreads="300" enableLookups="false" connectionTimeout="2" maxKeepAliveRequests="400" disableUploadTimeout="true" />
所以; 有没有什么办法可以指定keepalive超时如果我们使用http连接器与tomcat 5.5,并强制这个头条目被发送?
只是要清楚 – 我从服务器看到的确切的标题条目是这个与Apache:
Keep-Alive: timeout=2, max=100
但从tomcat /狼没有。
我已经看了更多,我不认为保持活着的头条目真的很重要。 这个问题似乎是在tomcat 5.5的http连接器中不支持keep-alive? 他们似乎在tomcat6(+ Java 6)中工作。
谢谢,丹
你正朝着正确的方向前进。 在tomcat 5.5中,connectionTimeout与tomcat 6.0中的keepalivetimeout相同。 但是您应该将值从2更改为2000,因为tomcat值以毫秒为单位,并且apache值以秒为单位。
你是对的,因为你看不到你的tomcat发送的http头中的超时值。 但超时将在服务器端采取行动。 我asume它不发送,因为tomcat连接器是HTTP / 1.1和Kee-Alive: timeout=X, max=Y是HTTP / 1.0。 正如tomcat文档告诉的,你应该同步两端的超时值,loadbalancer和tomcat在你的情况下。