Combinação Tornado Nginx Causando 502 Erros de Gateway Incorretos

2

Estamos enfrentando um problema com erros 502 inconsistentes e rastrear as razões tem sido um exercício muito frustrante. Podemos reproduzir o problema enviando várias solicitações simultâneas rapidamente. O problema é que vários estão apenas no intervalo de 10 a 20 dentro de 5 segundos (não um erro de digitação). Então, claramente, esse tipo de carga deve ser tratado com facilidade.

Gostamos muito da abordagem Nginx + Tornado, mas estamos pensando em ir para uma abordagem mais tradicional (por exemplo, threading) porque esse problema tem sido muito difícil de resolver. Eu queria saber se você a) sabe como corrigir esse problema eb) como podemos rastrear o culpado (s).

Os arquivos de log simplesmente identificam a existência de uma conexão recusada. Nós temos o mesmo problema deste post: link

Mas não há resposta sobre como resolver o problema, por isso espero que você possa ajudar, pois isso pode ser um problema comum com esse tipo de configuração.

Agradecemos antecipadamente

Paul

    
por PlaidFan 30.07.2011 / 20:46

1 resposta

1

Por padrão, o nginx não está configurado para repetir conexões com outro upstream se um deles retornar um erro 502. Você basicamente precisa adicionar isso:

proxy_next_upstream error timeout http_502;

Para sua configuração. Isso evitará que os erros do 502 sejam enviados diretamente de volta ao cliente e, em vez disso, fará com que o nginx tente e busque um upstream melhor. Ele tentará todos os upstreams antes de retornar ao cliente de acordo com este post:

link

Aqui estão mais detalhes sobre a diretiva de configuração:

link

    
por 28.08.2011 / 06:16