¿Qué es Keepalive en nginx?

¿Qué es Keepalive en nginx?
En Nginx, mantener viva es una directiva que se utiliza para mantener la conexión abierta para un cierto número de solicitudes al servidor o hasta que haya expirado el período de tiempo de espera de la solicitud. Según los desarrolladores de Nginx, 10,000 conexiones inactivas usarían solo 2.5 MB de memoria, lo que demuestra que Nginx es excepcionalmente bueno para manejar conexiones inactivas debido a las conexiones Keepalive. También tiene una gran influencia en la percepción del usuario final del tiempo de carga. También puede utilizar el KeepAlive para optimizar el tiempo de carga de un sitio web.

¿Cuáles son los beneficios de Keepalive en Nginx?

La creación de nuevas conexiones TCP puede consumir muchos recursos, como la memoria y el uso de la CPU. Sin embargo, mantener su conexión viva en Nginx puede reducir este uso. Esa es otra razón por la cual es muy recomendable que KeepAlive para las conexiones HTTPS. Habilitar el keepalive puede ayudarlo a mejorar la experiencia del usuario y el rendimiento de su sitio web. Permite que el navegador cargue el contenido de la página con una sola conexión TCP. Otro beneficio que me gustaría mencionar aquí es que también mejora la velocidad de la página web debido a su capacidad de entregar varios archivos a la misma conexión, reducir la latencia y acelerar la carga de las páginas web.

Cómo usar Keepalive en nginx

Ahora, verifiquemos cómo podemos utilizar mantener viva conexión Nginx. Para esto, abra el archivo de configuración de NGINX en su editor NANO escribiendo el siguiente dado en el terminal:

$ sudo nano/etc/nginx/nginx.confusión

El archivo de configuración de Nginx se verá así:

Las conexiones Keepalive pueden mejorar la velocidad al reducir la red y la sobrecarga de la CPU asociada con el cierre y la apertura de las conexiones. Los Keepalives son respaldados por NGINX tanto para servidores aguas arriba como para clientes. Todas las conexiones del cliente se terminan, y después de eso, Nginx establece conexiones independientes con los servidores aguas arriba.

¿Qué es KeepAlive_Timeout en Nginx?

El mantener con vida el tiempo de espera El valor en el archivo de configuración de Nginx indica cuánto tiempo tiene que esperar el servidor para obtener solicitudes de un cliente. De otra manera, podemos decir que indica el número de segundos que una conexión de Keepalive inactiva permanecerá abierta. Es mejor dejar la conexión inactiva abierta durante unos seis a diez segundos. Si el valor KeepAlive_TimeOut se establece demasiado alto, el servidor se sobrecargará y se desperdiciarán los recursos de RAM. Sintaxis de mantener con vida el tiempo de espera En Nginx se menciona a continuación:

keepalive_timeout [hora]

Contexto de KeepAlive_TimeOut en nginx: servidor, http y ubicación

Ahora, en el archivo de configuración de Nginx, estamos configurando el valor KeepAlive_TimeOut en 10 segundos:

KeepAlive_TimeOut 10;

¿Qué es KeepAlive_disable en Nginx?

El keepalive_disable La opción le permite deshabilitar la función Keepalive para familias de navegadores específicos. La sintaxis de keepalive_disable en nginx es:

BROWSER1 BROWSER1 BROWSER1 DISABLE2;

Contexto de KeepAlive_disable en nginx: servidor, http y ubicación

Ahora, solo deshabilitaremos el "msie6"Navegador para utilizar la función Keepalive:

keepalive_disable msie6;

¿Qué es KeepAlive_Requests en Nginx?

Sobre una sola conexión Keepalive, la keepalive_requests el valor indica el número máximo de solicitudes que puede manejar. El valor predeterminado para keepalive_requests es 100. Sin embargo, se pueden establecer valores más altos, lo que tiende a ser útiles para probar con una utilidad de generación de carga que envía muchas solicitudes de un solo cliente. La sintaxis de keepalive_requests en nginx es:

KeepAlive_Requests [valor];

Contexto de KeepAlive_Requests en Nginx: servidor, http y ubicación

Ahora, estableceremos "100000"Como un número máximo de solicitudes que se pueden atender a través de una sola conexión:

KeepAlive_Requests 100000;

Conexiones Keepalive en servidores aguas arriba

Puede habilitar las conexiones KeepAlive para los servidores aguas arriba, limitando el número de conexiones de mantenimiento inactivo almacenadas en cada proceso de caché del trabajador. Cuando el servidor ascendente alcanza el valor Keepalive, las conexiones utilizadas menos están cerradas.

Agregue las líneas dadas a continuación en su archivo de configuración de Nginx para configurar el valor de su servidor ascendente:

backend ascendente
Keepalive 16;

Aquí, hemos agregado "dieciséis"Como el número de conexiones de mantenimiento inactivo a un servidor ascendente que permanece abierto. No existe un valor predeterminado de KeepAlive para servidores aguas arriba:

Para guardar cualquiera de los cambios que ha realizado en el archivo de configuración de Nginx, presione "CTRL+O":

Después de eso, reinicie el servicio NGINX en su sistema:

$ sudo systemctl reiniciar nginx

Conclusión

Nginx es un equilibrador de carga HTTP eficiente que se puede utilizar en varias situaciones de implementación, y la característica que ayuda a Nginx a realizar esta funcionalidad es Keepalive. Tanto los servidores aguas arriba como los clientes admiten conexiones Keepalive. En esta publicación, has aprendido sobre ¿Qué es Keepalive en nginx?. Además, también hemos explicado el keepalive_requests, mantener con vida el tiempo de espera, keepalive_disable directivas y su uso en nginx.