Nginx keepalive ao usar um soquete UNIX

Nginx keepalive ao usar um soquete UNIX

Existe algum benefício ou ganho de desempenho ao usar keepaliveem um upstream que usa um soquete UNIX como servidor, por exemplo:

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;
    }
}

Pelo que entendi, ao usar um soquete UNIX, não há handshake de três vias TCP, portanto o keepalive 60;exemplo não se aplica, está correto?

Responder1

Soquetes UNIX ainda são conexões, então omanutenção de atividade nginxé um cache destes, e não importa o que acontece nos níveis mais baixos.

keepalive aqui não é o mesmo que muitas outras ferramentas/serviços onde isso implica que algo é enviado/recebido para manter a conexão.

informação relacionada