Impostazioni di timeout connessione
In Compute Cloud@Customer, puoi configurare i listener del load balancer in modo da controllare il tempo massimo di inattività consentito durante ogni connessione TCP o coppia di richieste e risposte HTTP.
I load balancer supportano il multiplexing delle connessioni. Il load balancer può instradare molte richieste in entrata da più client al server backend di destinazione tramite un numero ridotto (uno o più) di connessioni backend.
Dopo aver connesso un client a un server backend, il load balancer può essere chiuso a causa di inattività. È possibile configurare i listener del load balancer in modo che controllino il tempo massimo di inattività consentito durante ogni connessione TCP o coppia di richieste e risposte HTTP.
Le impostazioni di timeout riportate di seguito influiscono sul funzionamento del load balancer.
-
Impostazione di controllo attività tra load balancer e client
-
Impostazione di controllo attività tra il load balancer e il server backend
-
Timeout inattività in secondi
Impostazioni controllo attività
Il servizio di bilanciamento del carico non rispetta le impostazioni di controllo attività dei 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 502 errori, assicurarsi che i server backend non chiudano le connessioni inattive in meno di 310 secondi.
Il servizio di bilanciamento del carico imposta il valore di controllo attività per mantenere la connessione fino a quando non è rimasta inattiva per 65 secondi. Impossibile modificare il valore di questa impostazione.
Impostazioni timeout inattività
Quando si crea o si modifica un listener TCP o HTTP, è possibile specificare il tempo massimo di inattività in secondi. Questa impostazione si applica al tempo consentito tra due operazioni successive di ricezione o due operazioni successive di input/output della rete di invio durante la fase HTTP di risposta alla richiesta. 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.
Questa impostazione di timeout non si applica al tempo di inattività tra una risposta completata e una richiesta HTTP successiva.
I valori di timeout predefiniti sono: 300 secondi per i listener TCP e 60 secondi per i listener HTTP. Il valore massimo del timeout è di 7200 secondi.
Modificare il parametro di timeout se il client o il server backend richiede più tempo per la trasmissione dei dati, ad esempio:
-
Il client invia una query di database al server backend e l'esecuzione del database richiede oltre 300 secondi. Pertanto, il server backend non trasmette alcun dato entro 300 secondi.
-
Il client carica i dati utilizzando il protocollo HTTP. Durante il caricamento, il backend non trasmette alcun dato al client per più di 60 secondi.
-
Il client scarica i dati utilizzando il protocollo HTTP. Dopo la richiesta iniziale, smette di trasmettere i dati al server backend per più di 60 secondi.
-
Il client inizia a trasmettere i dati dopo aver stabilito una connessione WebSocket, ma il server backend non trasmette i dati per più di 60 secondi.
-
Il server backend inizia a trasmettere i dati dopo aver stabilito una connessione WebSocket, ma il client non trasmette i dati per più di 60 secondi.