Заголовок Keep-Alive не отправляется с http-коннектора Tomcat 5.5?
В настоящее время мы используем аппаратный балансировщик нагрузки, который затем переходит к Apache, а затем - к Tomcat 5.5 через разъем AJP.
Мы решили сбросить Apache по разным причинам - в нашей нынешней системе это не дает никаких преимуществ.
Однако, когда я смотрю на заголовки, отправленные, когда мы делаем это, заголовок "Keep-Alive: timeout=15 max=96" не отправляется, когда вы используете http-коннектор tomcat
Интересно, что я не могу найти документацию по "keepalivetimeout" для tomcat5.5, но я могу для tomcat6. Но я также не могу найти доказательства того, что tomcat5.5 не поддерживает этот параметр.
вот мой разъем:
<Connector port="8090" maxHttpHeaderSize="8192"
maxThreads="400" minSpareThreads="150" maxSpareThreads="300"
enableLookups="false"
connectionTimeout="2" maxKeepAliveRequests="400" disableUploadTimeout="true" />
Так; Можно ли как-то указать время ожидания активности активности, если мы используем http-коннектор с tomcat 5.5 и принудительно отправим эту запись заголовка?
Просто чтобы быть ясным - точная запись заголовка, которую я вижу с сервера, это с apache:
Keep-Alive: timeout=2, max=100
Но ничего от кота / койота.
Я посмотрел на это еще немного и не думаю, что запись заголовка Keep-Alive действительно имеет значение. Кажется, проблема в том, что keep-alives просто не поддерживаются в http-коннекторе tomcat 5.5? Кажется, они работают в tomcat6 (+ Java 6).
Спасибо Дэн
1 ответ
Вы шли в правильном направлении. в tomcat 5.5 connectionTimeout такой же, как keepalivetimeout в tomcat 6.0. но вы должны изменить значение с 2 на 2000, так как значение tomcat указано в миллисекундах, а значение apache - в секундах.
вы правы, так как не видите значение тайм-аута в заголовках http, отправленных вашим котом. но тайм-аут будет действовать на стороне сервера. я полагаю, он не отправляется, так как соединитель Tomcat является HTTP/1.1 и Kee-Alive: timeout=X, max=Y
это HTTP/1.0. как сказано в документации по tomcat, вы должны синхронизировать значения тайм-аута с обеих сторон, loadbalancer и tomcat в вашем случае.