Definições de Timeout de Conexão do Serviço Load Balancer

Configure as definições de timeout do seu balanceador de carga.

Os balanceadores de carga do Oracle Cloud Infrastructure suportam multiplexação de conexão. O balanceador de carga pode rotear muitas solicitações de entrada de diversos clientes para o servidor do backend do destino por meio de algumas (uma ou muitas) conexões de backend.

Depois que o seu balanceador de carga conecta um cliente a um servidor de backend, a conexão pode ser fechada por causa de inatividade. Além disso, você pode configurar listeners balanceadores de carga que controlam o tempo máximo de inatividade permitido para cada conexão TCP ou para cada par de solicitação e resposta HTTP. Recomendamos que você não permita que seus servidores de backend fechem conexões com o balanceador de carga.

As seguintes definições de timeout afetam o comportamento do seu balanceador de carga:

  • Definição de Keep-alive entre o balanceador de carga e o cliente

    O serviço Load Balancer define o valor de keep-alive a fim de manter a conexão para 10.000 transações ou até que a conexão permaneça inativa por 65 segundos, o que ocorrer primeiro.

    Observação

    Não é possível alterar o valor dessa configuração.
  • Definição keep-alive entre o balanceador de carga e o servidor de backend

    O balanceador de carga encerra as conexões do servidor de backend inativas por mais de 300 segundos. Consulte Definições de Keep-Alive para obter mais informações.

  • Timeout de Inatividade em Segundos

    Você pode definir a duração do timeout de inatividade ao criar um listener, conforme descrito em Criando um Listener do Balanceador de Carga. Esta definição se aplica ao tempo permitido entre duas operações consecutivas de entrada/saída na rede de recebimento ou na rede de envio durante a fase de resposta à solicitação HTTP. Consulte Definições de Timeout de Inatividade para obter mais informações.

Definições de Keep-Alive

O serviço do Balanceador de Carga não honra as definições de keep-alive de servidores de backend. O balanceador de carga encerra as conexões do servidor de backend inativas por mais de 300 segundos. Recomendamos que você não permita que seus servidores de backend fechem conexões com o balanceador de carga. Para impedir possíveis erros 502, certifique-se de que os seus servidores de backend não encerrem conexões inativas em menos de 310 segundos.

O serviço Load Balancer define o valor de keep-alive a fim de manter a conexão para 10.000 transações ou até que a conexão permaneça inativa por 65 segundos, o que ocorrer primeiro.

Definições de Timeout de Inatividade

Ao criar ou editar um listener TCP ou HTTP, você pode especificar o tempo máximo de inatividade em segundos usando a opção Timeout de Inatividade Em Segundos. Esta definição se aplica ao tempo permitido entre duas operações consecutivas de entrada/saída na rede de recebimento ou na rede de envio durante a fase de resposta à solicitação HTTP. Se o timeout configurado tiver ocorrido sem que pacotes tenham sido enviados ou recebidos, a conexão do cliente será fechada. Para conexões HTTP e WebSocket, uma operação enviar não redefine o cronômetro para operações de recebimento e uma operação receber não redefine o cronômetro para operações de envio. Consulte Criando um Listener do Balanceador de Carga para obter mais informações sobre como aplicar essa opção.

Observação

Essa definição de timeout não se aplica ao tempo de inatividade entre uma resposta concluída e uma solicitação HTTP posterior.

Os valores de timeout padrão são:

  • 300 segundos para listeners TCP.
  • 60 segundos para listeners HTTP.

Altere o parâmetro de timeout se o cliente ou o servidor de backend exigir mais tempo para enviar dados. Alguns exemplos incluem:

  • O cliente envia uma consulta de banco de dados ao servidor de backend, e o banco de dados leva mais de 300 segundos para executar. Portanto, o servidor de backend não envia dados em 300 segundos.
  • O cliente faz o upload dos dados usando o protocolo HTTP. Durante o upload, o backend não envia dados para o cliente por mais de 60 segundos.
  • O cliente faz o download dos dados usando o protocolo HTTP. Após a solicitação inicial, ele interrompe o envio de dados para o servidor de back-end por mais de 60 segundos.
  • O cliente começa a enviar dados após estabelecer uma conexão WebSocket, mas o servidor de backend não envia dados por mais de 60 segundos.
  • O servidor de backend começa a enviar dados após estabelecer uma conexão WebSocket, mas o cliente não envia dados por mais de 60 segundos.

O valor máximo de timeout é 7200 segundos. Entre em contato com Crie uma solicitação de serviço para arquivar uma solicitação de serviço para aumentar esse limite da sua tenancy. Consulte Limites de Serviço para obter mais informações.