Como posso evitar erros HTTP 504 de tempo limite de gateway no Amazon OpenSearch Service?

Data da última atualização: 30/07/2021

Estou tentando resolver um erro 504 de tempo limite de gateway no Amazon OpenSearch Service. Como fazer isso?

Breve descrição

Um balanceador de carga fica em frente a cada domínio do OpenSearch Service. O balanceador de carga distribui o tráfego de entrada para os nós de dados. Se as solicitações do OpenSearch Service não forem concluídas e retornarem uma confirmação dentro do período de tempo limite ocioso, o balanceador de carga encerrará a conexão TCP. Consequentemente, você receberá um erro HTTP 504 gateway timeout (HTTP 504 Tempo limite do gateway excedido). Um erro HTTP 504 gateway timeout (HTTP 504 Tempo limite do gateway excedido) não necessariamente indica um problema com o cluster, mas apenas que não foi possível concluir a solicitação dentro do limite de tempo de ociosidade.

Os erros de tempo limite do gateway geralmente ocorrem quando muitas solicitações ao mesmo tempo ou solicitações complexas são enviadas. Em ambos os casos, o resultado é o mesmo: o OpenSearch Service não consegue concluir a solicitação dentro do período de tempo limite ocioso.

Resolução

Use um ou mais dos seguintes métodos para resolver erros HTTP 504 de tempo limite do gateway:

  • Habilite os logs lentos para o índice do OpenSearch Service e especifique os limites do registro em log. Os logs lentos podem ajudar você a determinar se uma consulta específica está demorando muito para ser concluída. Nesse caso, ajuste a consulta para resolver o erro 504. Para obter mais informações, consulte Viewing Elasticsearch Service Slow Logs (Visualização de logs lentos do OpenSearch Service).
  • Reduza a quantidade de dados que o OpenSearch Service deve consultar para as solicitações. Isso reduz o tempo necessário para que as solicitações sejam concluídas.
  • Mude para um tipo de instância maior. Para obter mais informações, consulte Escolher tipos de instância e testes.
  • Configure mecanismos de recuo exponencial e de nova tentativa em sua aplicação para que as solicitações de tempo de espera sejam enviadas novamente.
  • Use solicitações em massa em vez de solicitações individuais. Isso reduz a sobrecarga por solicitação para o cluster.

Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?