Impacto da conexão fechar vs manter-vivo

9

Estou configurando nossos servidores e, devido à natureza do nosso balanceador de carga, não podemos enviar cabeçalhos de manutenção de conexão. Estou tentando determinar o impacto do envio desses cabeçalhos para o usuário final e o servidor. Qualquer um notará alguma coisa?

Willemk
fonte
sending these headers to both the end-user and the server- Hã? Você pode ser mais específico sobre o que deseja fazer? De onde os cabeçalhos seriam enviados e como isso contornaria a limitação do seu balanceador de carga em conexões HTTP keep-alive? O trabalho keep-alive precisa mais do que apenas um cabeçalho; ele precisa da cooperação de todos os dispositivos envolvidos nos aspectos HTTP da conexão.
Shane Madden
Minha redação pode ter sido um pouco estranha, mas o servidor está obviamente enviando os cabeçalhos. Estou tentando descobrir que impacto isso terá no cliente e no servidor.
Willemk 18/10/11
Que tipo de balanceador de carga você tem que é tão disfuncional que interrompe o HTTP Keepalive?
voretaq7
Temos uma regra que envia uma subpasta para um farm de servidores diferente. Ao navegar da raiz para a subpasta, o Keep-alive mantém a conexão aberta com o farm de servidores original e não o envia ao farm de servidores pretendido.
19411 Willemk

Respostas:

9

Antes de mais nada, grite. Alto. No seu fornecedor. Por ter um produto que não suporta o protocolo HTTP / 1.1 há mais de uma década .

O impacto de não ter conexões persistentes é um grande aumento no tempo de carregamento de recursos. Com keep-alive, uma única conexão TCP pode ser usada para solicitar vários recursos; sem, é necessária uma nova sessão TCP (com um novo handshake de três vias - e, se você usar SSL, uma nova negociação SSL) é necessária para todos os recursos da página.

Em termos práticos, o impacto dependerá do número de recursos em uma página, do tempo de ida e volta entre cliente e servidor e do número de solicitações simultâneas que o navegador de um cliente está fazendo por vez (os navegadores modernos executam ~ 6s por padrão) . Muitos recursos por página e clientes distantes significarão um aumento muito perceptível nos tempos de carregamento da página.

Shane Madden
fonte
Acabei de verificar, há cerca de 3 a 6 (dependendo da página em que você está) objetos sendo carregados desse domínio. Isso me faz pensar que a desaceleração será mínima, pois teria aberto 6 conexões simultâneas de qualquer maneira.
Willemk 19/10/11
@ Willemk Sim, isso é muito mínimo para uma página típica - a desaceleração seria muito mais preocupante em uma página carregando dezenas de objetos. Deve ficar bem.
Shane Madden
CDN está levando a maior parte da carga.
Willemk 19/10/11
1

Manter vivo melhorará bastante o desempenho no lado do cliente e do servidor. Se possível, não o desative. O balanceador de carga deve funcionar bem com o keep alive ativado.

Mircea Vutcovici
fonte
Você pode ter problemas de autenticação se estiver usando a autenticação NTLM e os keep-alives estiverem desativados.
Mircea Vutcovici 18/10/11
Estou tentando quantificar "melhorar muito". Além disso, nossa equipe de TI está conversando com o fornecedor do balanceamento de carga sobre o problema.
Willemk 18/10/11