Cosa è Keepalive in Nginx

Cosa è Keepalive in Nginx
In Nginx, Keepalive è una direttiva che viene utilizzata per mantenere aperta la connessione per un certo numero di richieste al server o fino alla scadenza del periodo di timeout delle richieste. Secondo gli sviluppatori Nginx, 10.000 connessioni inattivi userebbero solo 2.5 MB di memoria, dimostrando che Nginx è eccezionalmente bravo a gestire le connessioni inattive a causa delle connessioni Keepalive. Ha anche una grande influenza sulla percezione dell'utente finale del tempo di carico. Puoi anche utilizzare il Keepalive per ottimizzare il tempo di carico di un sito Web.

Quali sono i vantaggi di Keepalive in Nginx

La creazione di nuove connessioni TCP può consumare molte risorse come la memoria e l'utilizzo della CPU. Tuttavia, mantenere viva la connessione in NGINX può ridurre questo utilizzo. Questo è un altro motivo per cui è altamente raccomandato Keepalive per le connessioni HTTPS. Abilitare il Keepalive può aiutarti a migliorare l'esperienza dell'utente e le prestazioni del tuo sito Web. Permette al browser di caricare il contenuto della pagina con una singola connessione TCP. Un altro vantaggio che vorrei menzionare qui è che migliora anche la velocità della pagina Web a causa della sua capacità di consegnare diversi file sulla stessa connessione, riducendo la latenza e accelerando il caricamento delle pagine Web.

Come usare Keepalive in Nginx

Ora, controlliamo come possiamo utilizzare Keepalive connessione in Nginx. Per questo, apri il file di configurazione Nginx nel tuo Editor Nano scrivendo il di seguito nel terminale:

$ sudo nano/etc/nginx/nginx.conf

Il file di configurazione Nginx sembrerà così:

Le connessioni Keepalive possono migliorare la velocità abbassando la rete e il sovraccarico della CPU associati alla chiusura e all'apertura delle connessioni. Keepalives sono supportati da NGINX sia per i server a monte che per i client. Tutte le connessioni client sono terminate e, successivamente, Nginx stabilisce connessioni indipendenti ai server a monte.

Cos'è Keepalive_timeout in nginx

IL Keepalive_timeout Valore nel file di configurazione Nginx indica per quanto tempo il server deve attendere per ottenere richieste da un client. In un altro modo, possiamo dire che indica il numero di secondi che una connessione omettica di inattività rimarrà aperta. È meglio lasciare la connessione inattiva aperta per circa sei o dieci secondi. Se il valore Keepalive_Timeout è impostato troppo in alto, il server verrà sovraccarico e le risorse RAM verranno sprecate. Sintassi di Keepalive_timeout In nginx è menzionato di seguito:

Keepalive_timeout [Time]

Contesto di Keepalive_timeout in nginx: server, http e posizione

Ora, nel file di configurazione Nginx, stiamo impostando il valore Keepalive_Timeout a 10 secondi:

Keepalive_timeout 10;

Cosa è Keepalive_Disable in nginx

IL Keepalive_Disable L'opzione consente di disabilitare la funzione Keepalive per famiglie di browser specifiche. La sintassi di Keepalive_Disable in nginx è:

Keepalive_Disable Browser1 Browser2;

Contesto di Keepalive_Disable in nginx: server, http e posizione

Ora, disabiliteremo solo "msie6"Browser per utilizzare la funzione Keepalive:

Keepalive_Disable MSIE6;

Cos'è Keepalive_Requests in Nginx

Su una singola connessione Keepalive, il Keepalive_Requests il valore indica il numero massimo di richieste che può gestire. Il valore predefinito per Keepalive_Requests è 100. Tuttavia, è possibile impostare valori più alti, che tende ad essere utili nel test con un'utilità di generazione di carico che invia molte richieste da un singolo client. La sintassi di Keepalive_Requests in nginx è:

Keepalive_Requests [valore];

Contesto di Keepalive_Requests in Nginx: server, http e posizione

Ora imposteremo "100000"Come numero massimo di richieste che possono essere servite su una singola connessione:

Keepalive_Requests 100000;

Connessioni Keepalive nei server a monte

È possibile abilitare le connessioni Keepalive per i server a monte, limitando il numero di connessioni omettiche di inattività memorizzate in ciascuna cache del processo. Quando il server a monte raggiunge il valore Keepalive, le connessioni utilizzate sono chiuse.

Aggiungi le righe di seguito donate nel file di configurazione Nginx per l'impostazione del valore per il server a monte:

Backend a monte
Keepalive 16;

Qui, abbiamo aggiunto "16"Come il numero di connessioni zittiche di inattività a un server a monte che rimane aperto. Non esiste un valore predefinito di Keepalive per i server a monte:

Per salvare una qualsiasi delle modifiche apportate nel file di configurazione Nginx, premere "Ctrl+O":

Successivamente, riavvia il servizio NGINX sul sistema:

$ sudo systemctl riavvio nginx

Conclusione

Nginx è un efficiente bilanciamento del carico HTTP che può essere utilizzato in varie situazioni di distribuzione e la caratteristica che aiuta Nginx a eseguire questa funzionalità è Keepalive. Sia i server a monte che i client supportano le connessioni Keepalive. In questo post, hai imparato Cosa è Keepalive in Nginx. Inoltre, abbiamo anche spiegato il Keepalive_Requests, Keepalive_timeout, Keepalive_Disable direttive e loro utilizzo in nginx.