Image

Base de conocimientos → Optimización de la velocidad de procesamiento de solicitudes por parte del servicio nginx

[Servidores virtuales] [Aplicaciones en VPS/VDS]
Fecha de publicación: 26.03.2024

La configuración óptima de nginx le permite aumentar la velocidad de procesamiento de solicitudes. En el alojamiento compartido, por regla general, todos los ajustes ya los han realizado los especialistas del proveedor de alojamiento. Y en el caso de alojar el sitio en un servidor virtual, todas las configuraciones se realizan de forma independiente.

Para que el sitio funcione más rápido, recomendamos buscar una configuración que permita que el servidor web nginx funcione más rápido.

1. Comprobemos la configuración básica.

nano /etc/nginx/nginx.conf

1.1 La opción determina automáticamente la cantidad de núcleos en el servidor virtual.

worker_processes auto;

1.2 Configuración de compresión

        gzip on;
        gzip_vary on;
	gzip_proxied any;
	gzip_comp_level 6;
	gzip_buffers 16 8k;
	gzip_http_version 1.1;
	gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/ xml+rss text/javascript;

1.3 Habilitemos http/2

Agreguemos http2 a la sección del servidor del archivo de alojamiento web después de ssl en la línea de escucha. Esta opción solo debe agregarse para https.

server {
    listen 89.xx.77.xx:443 ssl http2;
    listen [2a01:xx:4:x::xx]:443 ssl http2;

1.3.1 Comprobemos el funcionamiento de HTTP2

nginx -t
service nginx restart
curl -I https://your-domain.tld

Obtenemos el siguiente resultado:

HTTP/2 200 
server: nginx
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
cache-control: no-cache, private
date: Tue, 26 Mar 2024 10:39:35 GMT

1.4 Configuremos el número máximo de conexiones

El valor predeterminado es 768, cambiemos el número al especificado en el sistema operativo.

1.4.1 Comprobemos el valor

ulimit -n

1024

1.4.2 Configúrelo en el archivo de configuración de nginx

nano /etc/nginx/nginx.conf
events {
	worker_connections 1024;
}

1.5 Ajustar el tamaño del búfer

De forma predeterminada, nginx tiene un tamaño de búfer de una página de memoria. Para que pueda procesar más solicitudes del caché, cambiaremos los valores dentro de la sección http {} de su host.

nano /etc/nginx/conf.d/domain-tld.conf
http {
...    

client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 4 4k;

...
}

1.6 Configurar el tiempo de espera para el procesamiento de solicitudes

En condiciones de carga alta y tiempo de espera bajo, el cliente puede recibir un mensaje de error cuando el servidor web nginx no ha recibido una respuesta de php-fpm; en este caso, se debe aumentar el tiempo de espera.

Tenga en cuenta que aumentar el tiempo de espera puede tener un impacto negativo en caso de inundaciones o ataques DDOS, ya que esto requerirá más recursos del servidor.

nano /etc/nginx/conf.d/domain-tld.conf
http {
...    

client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;

...
}

Ahora su nginx procesará las solicitudes con mayor velocidad. Después de realizar todos los cambios, verifique el archivo de configuración en busca de errores y reinicie el servicio para aplicar los cambios.

nginx -t
service nginx restart

Listo.





Sin comentarios aún