Configuración de la conexión de timeout del equilibrador de carga
Configure los valores de timeout para el equilibrador de carga.
Los equilibradores de carga de Oracle Cloud Infrastructure admiten la multiplexación de conexiones. El equilibrio de carga puede enrutar varias solicitudes entrantes de varios clientes al servidor backend de destino mediante algunas (una o muchas) conexiones de 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. También se pueden 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. Recomendamos que no permita que los servidores backend cierren conexiones al equilibrador de carga.
La siguiente configuración de timeout afecta al comportamiento del equilibrador de carga:
- Parámetro de mantenimiento de conexiones entre el equilibrador de carga y el cliente
El servicio Load Balancer define el valor de mantenimiento de conexiones para mantener la conexión para 10 000 transacciones o hasta que haya un estado inactivo durante 65 segundos, lo que se dé primero.
Nota
No puede cambiar el valor de este valor. - Parámetro de mantenimiento de conexiones entre el equilibrador de carga y el servidor backend
El equilibrador de carga cierra las conexiones de servidor backend que están inactivas durante más de 300 segundos. Consulte Configuración de mantenimiento de conexiones para obtener más información.
- Timeout de inactividad en segundos
Puede definir la duración del timeout de inactividad al crear un listener como se describe en Creación de un listener de equilibrador de carga. Este parámetro 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 petición-respuesta HTTP. Consulte Configuración del timeout de inactividad para obtener más información.
Configuración de mantenimiento de conexiones
El servicio del equilibrador de carga no aplica la configuración de mantenimiento de conexiones de los servidores de 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 que los servidores backend cierren 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 Load Balancer define el valor de mantenimiento de conexiones para mantener la conexión para 10 000 transacciones o hasta que haya un estado inactivo durante 65 segundos, lo que se dé primero.
Configuración del timeout de inactividad
Al crear o editar un listener TCP o HTTP, puede especificar el tiempo máximo de inactividad en cuestión de segundos mediante la opción Timeout de inactividad en segundo. Este parámetro 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 petición-respuesta HTTP. Si el timeout configurado transcurre sin paquetes enviados o recibidos, la conexión del cliente se cierra. Para la conexiones HTTP y WebSocket, una operación no restablece el temporizador para los procesos de recepción y una operación no restablece el temporizador para los procesos de envío. Consulte Creación de un listener de equilibrador de carga para obtener más información sobre cómo aplicar esta opción.
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.
- 60 segundos para listeners HTTP.
El parámetro de timeout se modifica si el cliente o el servidor backend requieren más tiempo para enviar datos. Estos son algunos ejemplos:
- 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 envía ningún dato en 300 segundos.
- El cliente carga los datos mediante el protocolo HTTP. Durante la carga, el backend no envía 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 enviar datos al servidor back-end durante más de 60 segundos.
- El cliente comienza a enviar datos después de establecer una conexión WebSocket, pero el servidor backend no envía datos durante más de 60 segundos.
- El servidor backend comienza a enviar datos después de establecer una conexión WebSocket, pero el cliente no envía datos durante más de 60 segundos.
El valor de timeout máximo es 7200 segundos. Póngase en contacto con Create a service request para solicitar un servicio con el fin de aumentar este límite para su arrendamiento. Consulte Límites de servicio para obtener más información.