Заголовок 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 в вашем случае.

Другие вопросы по тегам