Por que o NGINX está expirando?

Por que o NGINX está expirando?

Tenho um aplicativo com cerca de 200 mil usuários e estou executando um servidor NGINX + Gunicorn (Python) atrás de um balanceador de carga AWS EC2.

Não entendo como minhas solicitações são sempre de 4k/minuto, mas só às vezes recebo metade do tráfego devido a problemas de tempo limite. Na maioria das vezes, todas as solicitações estão corretas, mas às vezes começa a travar e quase todas as solicitações atingem o tempo limite.

Percebi que esse padrão de número de conexões atuais tem uma onda e flutua de 1000 a 0. O NGINX está agrupando solicitações de alguma forma? Como posso diferenciar request_time para descobrir se o NGINX não está sendo configurado corretamente ou se meu servidor Python está apenas recebendo endpoints extra lentos sendo chamados com muita frequência.

Anexei uma captura de tela de um dos servidores em meu painel do NGINX Amplify.

Alguma ideia de partes dos logs do NGINX ou do Amplify que eu possa investigar para determinar se este é um problema de configuração do NGINX ou se o processo hospedado do Python está travando? Obrigado! Painel de amplificação NGINX

Responder1

Procure nas métricas do CloudWatch, especialmente métricas sobre "descartado" ou "com falha". Você pode ver todos os detalhes sobre seu balanceador de carga e suas instâncias EC2. Não sei quais são os tipos de instância que você está usando, mas pode ser que você esteja constantemente usando demais as instâncias T2/T3 e fique sem crédito. Eu acho que algumas partes do seu fluxo estão sendo limitadas por algum motivo e isso não é necessariamente um problema nas próprias instâncias.

informação relacionada