Назад | Перейти на главную страницу

Заголовок 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).

Спасибо, Дэн

вы двигались в правильном направлении. в 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.