Nginx keepalive cuando se utiliza un socket UNIX

Nginx keepalive cuando se utiliza un socket UNIX

¿Hay algún beneficio o ganancia de rendimiento cuando se usa keepaliveen un upstream que usa un socket UNIX como servidor, por ejemplo:

upstream test {
    server unix:/tmp/test.sock;
    keepalive 60;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;

    location / {
        proxy_pass http://test;
        proxy_http_version 1.1;  
        proxy_redirect off;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Según tengo entendido, cuando se utiliza un socket UNIX, no hay un protocolo de enlace TCP de tres vías, por lo que el keepalive 60;del ejemplo no se aplica, ¿es correcto?

Respuesta1

Los sockets UNIX siguen siendo conexiones, por lo quenginx mantener vivoes un caché de estos, y no importa lo que suceda en los niveles inferiores.

keepalive aquí no es lo mismo que muchas otras herramientas/servicios donde implica que se envía/recibe algo para mantener la conexión.

información relacionada