AWS ELB - Teste de resistência - Erro transitório

3

Estou fazendo testes de estresse do nosso sistema. Atualmente, temos 5 instâncias de m1.large em execução por trás do ELB, localizadas na região leste. Na região oeste, existem 3 pequenas instâncias (com JMeter) que utilizo para martelar o sistema.

Ao fazer um teste que apenas envia as instâncias do aplicativo para cerca de 80% -90% do limite de CPU (o ponto de estrangulamento no momento), estou vendo um comportamento estranho, o ELB informa que TODAS as cinco instâncias estão "fora de serviço - Erro transitório - Por favor, verifique mais tarde ", todas as instâncias param de receber solicitações e, após cerca de 5 a 10 segundos, tudo volta ao normal. Isso acontece a cada 30 segundos ou mais. MAS! Isso não acontece toda vez que eu executo o teste. Eu apenas fiz um teste de estresse de meia hora, com as mesmas configurações e tudo funcionou perfeitamente. O que está acontecendo?

Por sinal, minha verificação de integridade é

Ping Target:    HTTP:80/index.html
Timeout:    60 seconds
Interval:    300 seconds
Unhealthy Threshold:    10
Healthy Threshold:    2

Então não tem como falhar. Eu nunca encontrei isso até ontem.

    
por Chuck Morris 16.02.2011 / 19:25

3 respostas

3

Também estávamos tendo um problema de "caixas falhar nos exames de saúde sem motivo" e, trabalhando com o suporte da Amazon, há uma interação entre os ELBs e o Apache KeepaliveTimeout. Se o intervalo de verificação de integridade for maior que o tempo limite, o verificador de recuperação poderá tentar reutilizar uma conexão incorreta e falhará no teste e lançará sua instância para fora do ELB. Eles chamaram nosso intervalo de 60 segundos de "extraordinariamente longo". Estamos mexendo com isso agora, mas tente definir seu intervalo baixo e combiná-lo com a configuração keepalive no Apache.

    
por 04.05.2011 / 06:13
1

A melhor maneira de testar o ELB é obter os ips usados por trás do nome que eles fornecem. Usou aqueles para acertar o balanceador de carga. Certifique-se de que há pelo menos uma imagem em cada az selecionado para o ELB. A Amazon dimensiona dinamicamente os ips por trás do ELB. Seu balanceador de carga provavelmente está atingindo apenas um único ip. Não tenho certeza sobre o comportamento esporádico que você está experimentando.

    
por 19.04.2011 / 07:51
0

Pode ser devido ao armazenamento em cache do DNS no nível da JVM ou do sistema operacional para que todos os seus pedidos estejam martelando 1 IP ELB ou sendo distribuídos de forma que o próprio ELB se torne um ponto de falha em vez de fornecer failover.

A partir do JMeter 2.12 e do elemento de configuração DNS Cache Manager pode ser usado para testar balanceamento de carga aplicações.

Veja O Gerenciador de Cache do DNS: a maneira correta de testar a carga balanceada Apps para obter explicações e instruções mais detalhadas.

    
por 02.10.2015 / 13:45