Definições de Timeout de Conexão
No Compute Cloud@Customer, você pode configurar listeners balanceadores de carga para controlar o tempo máximo de inatividade permitido para cada conexão TCP ou para cada par de solicitação e resposta HTTP.
Os balanceadores de carga suportam a multiplexação de conexões. O balanceador de carga pode rotear muitas solicitações recebidas de vários clientes para o servidor de backend de destino por meio de um pequeno número (um ou vários) de 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. Você pode configurar listeners balanceadores de carga para controlar o tempo máximo de inatividade permitido para cada conexão TCP ou para cada par de solicitação e resposta HTTP.
As seguintes definições de timeout afetam o comportamento do balanceador de carga:
-
Definição de keep-alive entre o balanceador de carga e o cliente
-
Definição keep-alive entre o balanceador de carga e o servidor de backend
-
Timeout de inatividade em segundos
Definições de Manutenção Ativa
O serviço de Balanceamento de Carga não respeita as definições de ativação dos 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 os 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 de Balanceamento de Carga define o valor de ativação a fim de manter a conexão até que ela fique ociosa por 65 segundos. O valor desta configuração não pode ser alterado.
Definições de Timeout de Inatividade
Ao criar ou editar um listener TCP ou HTTP, você poderá especificar o tempo máximo de inatividade em segundos. Essa definição se aplica ao tempo permitido entre duas operações sucessivas de entrada/saída na rede de recebimento ou 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 de envio não redefinirá o timer para operações de recebimento, e uma operação de recebimento não redefinirá o timer para operações de envio.
Essa definição de timeout não se aplica ao tempo de inatividade entre uma resposta concluída e uma solicitação HTTP subsequente.
Os valores de timeout padrão são: 300 segundos para listeners TCP e 60 segundos para listeners HTTP. O valor máximo de timeout é 7200 segundos.
Modifique o parâmetro de timeout se o cliente ou o servidor de backend precisar de mais tempo para transmitir dados; por exemplo:
-
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 transmite dados em até 300 segundos.
-
O cliente faz o upload dos dados usando o protocolo HTTP. Durante o upload, o backend não transmite dados ao 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 a transmissão de dados para o servidor de backend por mais de 60 segundos.
-
O cliente começa a transmissão de dados após estabelecer uma conexão WebSocket, mas o servidor de backend não transmite dados por mais de 60 segundos.
-
O servidor de backend começa a transmissão de dados após estabelecer uma conexão WebSocket, mas o cliente não transmite dados por mais de 60 segundos.