Заголовок Keep-Alive не отправляется из http-коннектора Tomcat 5.5?

Заголовок 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" />

Итак; Есть ли способ указать тайм-аут keepalive, если мы используем http-коннектор с tomcat 5.5, и принудительно отправить эту запись заголовка?

Для ясности — точная запись заголовка, которую я вижу от сервера, выглядит так с помощью Apache:

Keep-Alive: timeout=2, max=100

Но ничего от кота/койота.

Я посмотрел на это еще раз и не думаю, что запись заголовка Keep-Alive действительно имеет значение. Проблема, похоже, в том, что keep-alive просто не поддерживаются в http-коннекторе tomcat 5.5? Они, похоже, работают в tomcat6 (+java 6).

Спасибо, Дэн.

решение1

Вы двигались в правильном направлении. В tomcat 5.5 connectionTimeout такой же, как keepalivetimeout в tomcat 6.0. Но вам следует изменить значение с 2 на 2000, так как значение tomcat указывается в миллисекундах, а значение apache — в секундах.

Вы правы, так как вы не видите значение тайм-аута в заголовках http, отправляемых вашим tomcat. Но тайм-аут будет выполнен на стороне сервера. Я предполагаю, что он не отправляется, так как коннектор tomcat — это HTTP/1.1, а — Kee-Alive: timeout=X, max=YHTTP/1.0. Посколькудокументация tomcatговорит, что вам следует синхронизировать значения тайм-аута на обеих сторонах, в вашем случае — балансировщике нагрузки и tomcat.

Связанный контент