
Existe algum benefício ou ganho de desempenho ao usar keepalive
em 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.