Valores de timeout de conexión
En Compute Cloud@Customer, puede configurar listeners del equilibrador de carga para controlar el tiempo de inactividad máximo permitido durante cada conexión TCP o cada par de solicitud y respuesta HTTP.
Los equilibradores de carga admiten la multiplexación de conexiones. El equilibrador de carga puede enrutar muchas solicitudes entrantes de varios clientes al servidor backend de destino mediante un pequeño número (uno o varios) de conexiones backend.
Una vez que el equilibrador de carga conecta un cliente al servidor de backend, la conexión se puede cerrar debido a la inactividad. Puede configurar listeners del equilibrador de carga para controlar el tiempo de inactividad máximo permitido durante cada conexión TCP o el par de solicitud y respuesta HTTP o TCP.
La siguiente configuración de timeout afecta al comportamiento del equilibrador de carga:
-
Valor de mantenimiento de conexiones entre el equilibrador de carga y el cliente
-
Configuración de mantenimiento de conexiones entre el equilibrador de carga y el servidor backend
-
Timeout de inactividad en segundos
Configuración de Mantenimiento de Conexiones
El servicio de equilibrio de carga no mantiene activos los valores de los servidores backend. El equilibrador de carga cierra las conexiones de servidor backend que están inactivas durante más de 300 segundos. Recomendamos que no permita a los servidores backend cerrar conexiones al equilibrador de carga. Para evitar posibles errores 502, asegúrese de que los servidores backend no cierran conexiones inactivas en menos de 310 segundos.
El servicio de equilibrio de carga define el valor de mantenimiento de conexiones para mantener la conexión hasta que esté inactiva durante 65 segundos. El valor de esta configuración no se puede cambiar.
Configuración del timeout de inactividad
Al crear o editar un listener TCP o HTTP, puede especificar el tiempo de inactividad máximo en segundos. Este valor se aplica al tiempo permitido entre dos operaciones de entrada/salida de red de envío sucesivo o recepción sucesiva durante la fase de solicitud- respuesta HTTP. Si el timeout configurado transcurrió sin paquetes enviados o recibidos, la conexión del cliente se cierra. Para las conexiones HTTP y WebSocket, una operación de envío no restablecerá el temporizador para las operaciones de recepción y una operación de recepción no restablecerá el temporizador para las operaciones de envío.
Este valor de timeout no se aplica al tiempo de inactividad entre una respuesta completada y una solicitud HTTP posterior.
Los valores de timeout por defecto son: 300 segundos para listeners TCP y 60 segundos para listeners HTTP. El valor de timeout máximo es 7200 segundos.
Modificar el parámetro de timeout si el cliente o el servidor backend requieren más tiempo para transmitir datos; por ejemplo:
-
El cliente envía una consulta de base de datos al servidor de backend y la base de datos tarda más de 300 segundos en ejecutarse. Por lo tanto, el servidor backend no transmite ningún dato en 300 segundos.
-
El cliente carga los datos mediante el protocolo HTTP. Durante la carga, el backend no transmite ningún dato al cliente durante más de 60 segundos.
-
El cliente descarga los datos mediante el protocolo HTTP. Después de la solicitud inicial, deja de transmitir datos al servidor backend durante más de 60 segundos.
-
El cliente inicia la transmisión de datos después de establecer una conexión WebSocket, pero el servidor backend no transmite datos durante más de 60 segundos.
-
El servidor backend inicia la transmisión de datos después de establecer una conexión WebSocket, pero el cliente no transmite datos durante más de 60 segundos.