Impostazioni connessione timeout load balancer
Configurare le impostazioni di timeout per il load balancer.
I load balancer di Oracle Cloud Infrastructure supportano il multiplexing delle connessioni. Il load balancer può instradare molte richieste in entrata da più client al server backend di destinazione tramite alcune (una o più) connessioni backend.
Dopo che il load balancer ha eseguito la connessione di un client a un server backend, la connessione può essere chiusa a causa dell'inattività. Inoltre, puoi configurare i listener del load balancer per controllare il tempo massimo di inattività consentito durante ogni connessione TCP o coppia di richieste e risposte HTTP. Si consiglia di non consentire ai server backend di chiudere le connessioni al load balancer.
Le seguenti impostazioni di timeout influiscono sul funzionamento del load balancer:
- Impostazione di controllo attività tra il load balancer e il client
Il servizio Load balancer imposta il valore di controllo attività per mantenere la connessione per 10.000 transazioni o finché non è rimasta inattiva per 65 secondi, a seconda di quale dei due limiti si verifica per prima.
Nota
Non è possibile modificare il valore di questa impostazione. - Impostazione di controllo attività tra il load balancer e il server backend
Il load balancer chiude le connessioni al server backend inattive per più di 300 secondi. Per ulteriori informazioni, vedere Impostazioni Keep-Alive.
- Timeout inattività in secondi
È possibile impostare la durata del timeout di inattività quando si crea un listener come descritto in Creazione di un listener del load balancer. Questa impostazione si applica al tempo consentito tra due operazioni successive di input/output della rete di invio o di ricezione o di invio durante la fase di richiesta-risposta HTTP. Per ulteriori informazioni, vedere Impostazioni timeout inattività.
Impostazioni controllo attività
Il servizio Load Balancer non rispetta le impostazioni di controllo dell'integrità dai server backend. Il load balancer chiude le connessioni al server backend inattive per più di 300 secondi. Si consiglia di non consentire ai server backend di chiudere le connessioni al load balancer. Per evitare possibili errori 502, assicurarsi che i server backend non chiudano le connessioni inattive in meno di 310 secondi.
Il servizio Load balancer imposta il valore di controllo attività per mantenere la connessione per 10.000 transazioni o finché non è rimasta inattiva per 65 secondi, a seconda di quale dei due limiti si verifica per prima.
Impostazioni timeout inattività
Quando si crea o si modifica un listener TCP o HTTP, è possibile specificare il tempo massimo di inattività in secondi utilizzando l'opzione Timeout inattività in secondi. Questa impostazione si applica al tempo consentito tra due operazioni successive di input/output della rete di invio o di ricezione o di invio durante la fase di richiesta-risposta HTTP. Se il timeout configurato è trascorso senza pacchetti inviati o ricevuti, la connessione del client viene chiusa. Per le connessioni HTTP e WebSocket, un'operazione di invio non reimposta il timer per le operazioni di ricezione e un'operazione di ricezione non reimposta il timer per le operazioni di invio. Per ulteriori informazioni su come applicare questa opzione, vedere Creazione di un listener del load balancer.
Questa impostazione di timeout non si applica al tempo di inattività tra una risposta completata e una richiesta HTTP successiva.
Di seguito sono riportati i valori di timeout predefiniti.
- 300 secondi per i listener TCP.
- 60 secondi per i listener HTTP.
Modificare il parametro di timeout se il client o il server backend richiedono più tempo per l'invio dei dati. Di seguito vengono forniti alcuni esempi.
- Il client invia una query di database al server backend e l'esecuzione del database richiede oltre 300 secondi. Pertanto, il server backend non invia dati entro 300 secondi.
- Il client carica i dati utilizzando il protocollo HTTP. Durante il caricamento, il backend non invia dati al client per più di 60 secondi.
- Il client scarica i dati utilizzando il protocollo HTTP. Dopo la richiesta iniziale, interrompe l'invio dei dati al server backend per più di 60 secondi.
- Il client inizia a inviare i dati dopo aver stabilito una connessione WebSocket, ma il server backend non invia i dati per più di 60 secondi.
- Il server backend inizia a inviare i dati dopo aver stabilito una connessione WebSocket, ma il client non invia i dati per più di 60 secondi.
Il valore di timeout massimo è 7200 secondi. Contattare Creare una richiesta di servizio per inoltrare una richiesta di servizio per aumentare questo limite per la tenancy. Per ulteriori informazioni, vedere Limiti del servizio.