Actualmente estamos usando un balanceador de carga de hardware, que luego va a Apache y luego a Tomcat 5.5 a través del conector AJP.
Hemos decidido deshacernos de Apache por varias razones: en nuestro sistema actual no ofrece ninguna ventaja.
Sin embargo, cuando miro los encabezados enviados cuando hacemos esto, el encabezado "Keep-Alive: timeout=15 max=96" no se envía cuando se utiliza el conector http de Tomcat.
Curiosamente, no puedo encontrar documentación sobre "keepalivetimeout" para tomcat5.5, pero sí para tomcat6. Pero tampoco puedo encontrar evidencia de que Tomcat5.5 no admita esta configuración.
aquí está mi conector:
<Connector port="8090" maxHttpHeaderSize="8192"
maxThreads="400" minSpareThreads="150" maxSpareThreads="300"
enableLookups="false"
connectionTimeout="2" maxKeepAliveRequests="400" disableUploadTimeout="true" />
Entonces; ¿Hay alguna manera de especificar el tiempo de espera de keepalive si utilizamos el conector http con Tomcat 5.5 y forzamos el envío de esta entrada de encabezado?
Para que quede claro: la entrada exacta del encabezado que veo en el servidor es esta con Apache:
Keep-Alive: timeout=2, max=100
Pero nada de Tomcat/coyote.
He analizado esto un poco más y no creo que la entrada del encabezado Keep-Alive realmente importe. El problema parece ser que los keep-alives simplemente no son compatibles con el conector http de Tomcat 5.5. Parecen funcionar en tomcat6 (+java 6).
Gracias Dan
Respuesta1
ibas en la dirección correcta. en Tomcat 5.5, ConnectionTimeout es el mismo que keepalivetimeout en Tomcat 6.0. pero debes cambiar el valor de 2 a 2000, ya que el valor de Tomcat está en milisegundos y el valor de Apache está en segundos.
tiene razón, ya que no ve el valor de tiempo de espera en los encabezados http enviados por su gato. pero el tiempo de espera actuará en el lado del servidor. Supongo que no se envía porque el conector Tomcat es HTTP/1.1 y Kee-Alive: timeout=X, max=Y
HTTP/1.0. como eldocumentación de Tomcatdice, debes sincronizar los valores de tiempo de espera en ambos lados, balanceador de carga y tomcat en tu caso.