O Amazon ELB não limpa as conexões do KeepAlive

1
A documentação menciona o seguinte:

To ensure that the load balancer is responsible for closing the connections to your instance, make sure that the value you set for the HTTP keep-alive time is greater than the idle timeout setting on your load balancer.

Estou enfrentando um problema em que meu ELB está acionando ~ 40 solicitações (js, css, img), cada qual com o KeepAlive ativado, usa todos os meus threads de trabalho e bloqueia-os para KeepAliveTimeout (que configurei para ser maior que Tempo limite de ELB como sugerido).

No entanto, o ELB não fecha as conexões quando a página é carregada - elas apenas ficam lá bloqueando os funcionários até o tempo limite.

Então, estou aqui com duas perguntas:

  1. Por que o ELB dispara 40 conexões diferentes e não reutiliza apenas o mesmo?
  2. Por que o ELB não limpa as conexões quando é feito com elas?
por Arturs Vancans 11.07.2017 / 19:05

1 resposta

0

Você está ativando sessões fixas no nível EC2 ou no nível ELB? A aderência está ativada? Qual é o tempo de cancelamento? A drenagem de conexão está ativada?

    O
  1. ELB ativará novas sessões se as sessões fixas não estiverem ativadas normalmente.
  2. Se você ativar sessões aderentes no ELB, estará aguardando a conexão no nível ELB. Recomenda-se a ativação de sessões fixas no nível do EC2, no caso de falha de instâncias do EC2, o escalonamento automático será forçado a gerar uma nova instância. Isso elimina "E se uma sessão estiver viva, mas minha instância do EC2 morreu?"

"O Amazon ELB atualmente expira em tempo as conexões de soquete persistentes em 60 segundos se estiver ocioso. Essa condição será um problema para casos de uso que geram arquivos grandes (PDF, relatórios) no back end EC2, os envia como resposta de volta e mantém conexões inativas durante todo o processo de geração. "

    
por 11.07.2017 / 19:24