Tempo limite do gateway do Amazon EC2 504

1

Eu tenho apenas uma única instância de camada livre do Amazon EC2. Ele hospeda dois sites do Django que atualmente quase não recebem tráfego, apenas um punhado de solicitações por dia. O servidor é apache com mod_wsgi e o apache é configurado com WSGIDaemonProcess, como

WSGIDaemonProcess mysite.com processes=4 threads=4 display-name=%{GROUP} user=djangoUser group=djangoUser python-path=/srv/mysite:/srv/mysite/venv/lib/python2.7/site-packages
WSGIProcessGroup mysite.com

para cada um dos dois sites. Os sites foram previamente hospedados no linode com as mesmas configurações e configurações sem problemas, então estou surpreso por ter problemas.

Com muita frequência (mais de 50% do tempo) ao acessar os sites, recebo um 504 Gateway Time-out e a tentativa de acesso nem se registra no erro do apache nem acessa os registros, então é difícil depurar. / p>

Eu vi tópicos semelhantes aqui discutindo o balanceamento de carga elástica, mas esse não é o meu caso. Não sei como proceder para encaminhar e resolver o problema.

Aqui está uma captura de tela arbitrária da parte superior em um determinado momento quando uma solicitação é feita:

EDITAR

Eu finalmente descobri que este era um script fail2ban mal configurado que adicionou meu ip a uma lista negra do iptables por um tempo finito. Meu primeiro pedido funcionaria, mas os pedidos subseqüentes seriam bloqueados pelo iptables até que o limite de tempo expirasse, liderando os 504s.

    
por fpghost 02.01.2016 / 04:15

1 resposta

1

Instâncias EC2 t2.micro são horríveis . Lá eu disse isso. Horrível. Se você está executando um aplicativo não interativo, e não se importa se um determinado trabalho leva 10 vezes mais tempo para ser executado do que deveria, então t2.micros pode funcionar bem. Para qualquer tipo de aplicativo da Web interativo, eles não valem nada.

Meu palpite é que, se você assistir top durante os períodos em que isso está acontecendo, você verá uma alta porcentagem de roubo de CPU e / ou iowait. Infelizmente, a única coisa que você pode fazer para remediar isso é atualizar para uma instância maior.

Se você não precisa dos recursos mais avançados disponíveis para você na AWS, não é uma ótima solução no que se refere ao desempenho por dólar. O Linode, o DO e outros provedores VPS executam com folga as instâncias do EC2 de tamanho similar.

    
por 02.01.2016 / 04:46