Impacto de Connection Close vs Keep-alive

9

Estoy configurando nuestros servidores y, debido a la naturaleza de nuestro equilibrador de carga, no podemos enviar encabezados de conexión para mantener la vida. Estoy tratando de determinar el impacto de enviar estos encabezados tanto al usuario final como al servidor. ¿Alguno notará algo?

Willemk
fuente
sending these headers to both the end-user and the server- ¿eh? ¿Puedes ser más específico sobre lo que estás buscando hacer? ¿Desde dónde se enviarían los encabezados y cómo funcionaría esto para evitar la limitación de su equilibrador de carga contra las conexiones HTTP de mantenimiento? Trabajar para mantener vivo necesita más que solo un encabezado, necesita la cooperación de cada dispositivo involucrado en los aspectos HTTP de la conexión.
Shane Madden
Mi redacción puede haber sido un poco extraña, pero el servidor obviamente está enviando los encabezados. Estoy tratando de averiguar qué impacto tendrá esto en el cliente y el servidor.
Willemk
¿Qué tipo de equilibrador de carga tienes que sea tan disfuncional que rompa HTTP Keepalive?
voretaq7
Tenemos una regla que envía una subcarpeta a una granja de servidores diferente. Al navegar desde la raíz a la subcarpeta, Keep-alive mantiene la conexión abierta a la granja de servidores original y no lo envía a la granja de servidores deseada.
Willemk

Respuestas:

9

Ante todo, grita. Ruidosamente. A tu vendedor. Por tener un producto que no admite el protocolo HTTP / 1.1 de más de una década .

El impacto de no tener conexiones persistentes es un aumento importante en el tiempo de carga de los recursos. Con keep-alive, se puede usar una única conexión TCP para solicitar múltiples recursos; sin, se requiere una nueva sesión TCP (con un nuevo protocolo de enlace de tres vías y, si utiliza SSL, una nueva negociación SSL) para todos y cada uno de los recursos de la página.

En términos prácticos, el impacto dependerá de la cantidad de recursos en una página, el tiempo de ida y vuelta entre el cliente y el servidor, y la cantidad de solicitudes simultáneas que realiza el navegador de un cliente a la vez (los navegadores modernos funcionan ~ 6ish por defecto) . Muchos recursos por página y clientes distantes significarán un aumento muy notable en los tiempos de carga de la página.

Shane Madden
fuente
Acabo de comprobar que se cargan de 3 a 6 objetos (dependiendo de la página en la que se encuentre) desde ese dominio. Esto me hace pensar que la desaceleración será mínima, ya que de todos modos habría abierto ~ 6 conexiones concurrentes.
Willemk
@Willemk Sí, eso es muy mínimo para una página típica: la desaceleración sería mucho más preocupante en una página que carga docenas de objetos. Debería estar bien.
Shane Madden
CDN está tomando la mayor parte de la carga.
Willemk
1

Mantener vivo mejorará en gran medida el rendimiento tanto en el lado del cliente como del servidor. Si es posible, no lo desactive. El equilibrador de carga debería funcionar bien con Keep Live activado.

Mircea Vutcovici
fuente
Puede tener problemas de autenticación si está utilizando la autenticación NTLM y las funciones de mantenimiento están deshabilitadas.
Mircea Vutcovici
Estoy tratando de cuantificar "mejorar mucho". Además, nuestro equipo de TI está en conversaciones con el proveedor de equilibrio de carga sobre el problema.
Willemk